用sql语句查询表中第N(1,2,3等)大的数
发布网友
发布时间:2022-04-27 00:37
我来回答
共3个回答
热心网友
时间:2022-04-10 03:35
--我这里一共有13个数,1到13
--这句查出来就是13
select max(id) from cardInfo
--这句查出来就是1
select min(id) from cardInfo
--这句查出来的是比13小的数
select id from cardInfo where id < (select max(id) from cardInfo)
--比如现在就要取第二大,也就是12
select top 1 id from cardInfo where id < (select max(id) from cardInfo) order by id desc
--现在取第三大的数,11
select top 1 id from cardInfo where id < (select max(id) from cardInfo where id < (select max(id) from cardInfo)) order by id desc
--同理现在可以取第四大了,10
select top 1 id from cardInfo where id < (select max(id) from cardInfo where id < (select max(id) from cardInfo where id < (select max(id) from cardInfo))) order by id desc
把他复制到查询分析器里面能看得更清楚.
热心网友
时间:2022-04-10 04:53
select top 1 id
from tablename
where id not in (select top N-1 id from tablename order by id desc) t
order by id desc
用数字替代那个N,就能得到第几大的数了
热心网友
时间:2022-04-10 06:27
一楼回答的很全面啊!我也要学习啊