当前位置: 代码迷 >> Sql Server >> 怎样用一条语句列出全部最大值或最小值的记录
  详细解决方案

怎样用一条语句列出全部最大值或最小值的记录

热度:32   发布时间:2016-04-24 09:37:39.0
怎样用一条语句列出所有最大值或最小值的记录
表中价格是最大值的有多条数据,我想一次性把它列举出来。如下面的语句却是错误的
select * from items where price = max(price)
------解决思路----------------------
select A.* from items A,(SELECT MAX(price)price1 FROM items)B where A.price = B.price1 
这样应该可以
------解决思路----------------------

select * from items where price
 =(SELECT  max(price) FROM items)

------解决思路----------------------
求列出所有最大值的:

select *
from 
(
select *,
       rank() over(order by price desc) rn
from items 
)t
where rn = 1


求列出所有最小值的,相比上面少了desc:
select *
from 
(
select *,
       rank() over(order by price) rn
from items 
)t
where rn = 1
  相关解决方案