首页 热点专区 义务教育 高等教育 出国留学 考研考公

请教MySQL或其它数据库高手,怎么分组查询第三大值,类似使用max()查询...

发布网友

我来回答

3个回答

热心网友

查询第三大值:select A, max(B) as thirdB from test
where B not in (select top 2 B from test order by B desc)
--这里就把第一、二大的数去掉了
group by A;

热心网友

SQL Server / Oracle 的话,很好处理。
一个 ROW_NUMBER() OVER(PARTITION BY A ORDER BY B DESC) 一下。
然后这个数字 = 3的, 就是分组第三大值了。

MySQL 不知道支持不支持追问可惜Mysql不支持

热心网友

写自定义函数吧

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com