-
Least()函数:从值列表(N1,N2,N3,等等)返回至小值项
SELECT LEAST(3,5,1,8,33,99,34,55,67,43) from dual
运行结果如图所示:
2. Greatest函数:从值列表(N1,N2,N3,等等)返回最大值项
SELECT greatest(3,5,1,8,33,99,34,55,67,43) as 最大值 from dual
运行结果如图所示:
- 注意事项:
在使用这两个函数时,如果列表中的值为空串或者null,返回的结果都 没有值
列表中有null时
列表中有空串时
Least()函数:从值列表(N1,N2,N3,等等)返回至小值项SELECT LEAST(3,5,1,8,33,99,34,55,67,43) from dual运行结果如图所示:2. Greatest函数:从值列表(N1,N2,N3,等等)返回最大值项SELECT greatest(3,5,1,8,33,99,34,55,67,43) as 最大值 from dual运行结果如图所示:注意事项:在使用这两个函数时,如果列表中的值为空串或者null,返回的结果都 没有值列表中.
接到一个需求,实现需要找出一个品各个平台价格的最低价,现有的数据,各个价格记录在一条数据中,初步想法是查询到Java后台再做比较。但是查看了下数据,一个品最多可能有八个价格,还要排除各种为0的,为空的数据,稍显麻烦,因而想到了mysql的least函数。
reatest(字段1,字段2,字段3,…,字段n) 取最大值
least(字段1,字段2,字段3,…,字段n) 取最小值
实际操作了下,发现查询到的很多数据为空或者为0,而这部分数据显然不是想要的,需要过滤掉。可以分三种情况进行处理
1、需要过滤的
--1、Name相同ID最小的记录(推荐用1,2,3),方法3在SQl05时,效率高于1、2
Select * from #T a where not exists(select 1 from #T where
Name=a.Name and ID
select a.* from #T a join (select min(ID)ID,Name from #T group
解答:select distinct subject,yr from nobel x
where yr=(select min(yr) from nobel y where y.subject=x.subject )
更为简单的方法:select subject,min(yr) from nobel group by...
max 函数要求有 1 个参数。
也就是说,在 MSSQL 数据库中最大最小的函数只能针对字段来操作,无法取两数中的最大或最小.为此,我写了以下函数,来达到最两值最大或最小的目的:
以下两个函数则...