猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
查找第二大值的最简单的SQL查询是什么?
查找第二大值的最简单的SQL查询是什么?
查找特定列中第二大整数值的最简单的SQL查询是什么?
列中可能存在重复值。
茅侃侃
浏览 1976
回答 3
3回答
拉莫斯之舞
SELECT MAX( col ) FROM table WHERE col < ( SELECT MAX( col ) FROM table )
0
0
0
RISEBY
我在这里看到了一些特定于SQL Server和一些MySQL特定的解决方案,因此您可能想要澄清所需的数据库。虽然如果我不得不猜测我会说SQL Server,因为这在MySQL中是微不足道的。我也看到一些不起作用的解决方案,因为它们没有考虑到重复的可能性,所以要小心你接受哪些。最后,我看到一些会起作用但会对表进行两次完整扫描。您希望确保第二次扫描仅查看2个值。SQL Server(2012年之前):SELECT MIN([column]) AS [column]FROM ( SELECT TOP 2 [column] FROM [Table] GROUP BY [column] ORDER BY [column] DESC) aMySQL的:SELECT `column` FROM `table` GROUP BY `column` ORDER BY `column` DESC LIMIT 1,1更新:SQL Server 2012现在支持更清晰(和标准)的OFFSET / FETCH语法:SELECT TOP 2 [column] FROM [Table] GROUP BY [column] ORDER BY [column] DESCOFFSET 1 ROWSFETCH NEXT 1 ROWS ONLY;
0
0
0
猛跑小猪
首先制作一个没有最大工资的虚拟表,然后从虚拟表中查询最大值SELECT max(salary) from (Select * FROM emp WHERE salary<> (SELECT MAX(salary) from emp)) temp
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
SQL Server
MySQL
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续