SQL 语句如何查询工资最高的10个人?

[复制链接]
查看11 | 回复5 | 2019-1-6 20:37:49 | 显示全部楼层 |阅读模式
请问你用的什么数据库。如果MSSQL的是select top 10 * from emp order by sal desc如果是Oracle的是select * from (select a.*,rownum r from (select * from emporder by sal desc) a) bwhere b.r<=10但是还有一个问题就是第11位和第10位的工资是一样的可能(并列的情况),上面的语句就欠考虑了。那么就需要修改上面的语句。如果MSSQL的是SELECT * FROM emp WHERE sal IN (select TOP 10 sal from emp ORDER BY sal DESC)ORDER BY sal DESC如果是Oracle的是SELECT * FROM emp WHERE sal IN ( select sal from (select a.*,rownum r from (select * from emporder by sal desc) a
--对emp进行升序排列) b --给出伪列where b.r<=10--获得伪列在10以内的) ORDER BY sal DESC
回复

使用道具 举报

千问 | 2019-1-6 20:37:49 | 显示全部楼层
select top 10 * from emp order by sal desc,name,id
回复

使用道具 举报

千问 | 2019-1-6 20:37:49 | 显示全部楼层
SELECT * FROM emp ORDER BY sal DESC LIMIT 10;
回复

使用道具 举报

千问 | 2019-1-6 20:37:49 | 显示全部楼层
select top 10 namefrom emporder by sal descselect max(工资列)from 表名称
回复

使用道具 举报

千问 | 2019-1-6 20:37:49 | 显示全部楼层
select id, name, sal from emp order by sal desc
回复

使用道具 举报

千问 | 2019-1-6 20:37:49 | 显示全部楼层
拿点分就走!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行