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

数据库表名为emp,字段id(标识),name(员工姓名),sal(薪水)现在我想查询薪水最多的前10个人的姓名,请问如何写查询语句,谢谢!... 数据库表名为emp,字段id(标识),name(员工姓名),sal(薪水)
现在我想查询薪水最多的前10个人的姓名,请问如何写查询语句,谢谢!
展开
 我来答
起吃攻百子务2241
2007-12-26 · 超过14用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:0
展开全部
请问你用的什么数据库。

如果MSSQL的是
select top 10 * from emp order by sal desc

如果是Oracle的是
select * from (
select a.*,rownum r from
(
select * from emp
order by sal desc) a
) b
where 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 emp order by sal desc) a --对emp进行升序排列
) b --给出伪列
where b.r<=10--获得伪列在10以内的
) ORDER BY sal DESC
创作者tM1yYfgCcw
2019-01-06 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:28%
帮助的人:962万
展开全部
使用查询语句
select
top
3
*
from
(数据库)
order
by
(工资字段名)
desc
如果取出来的刚好是工资最低的,那就把desc去掉
如果你需要完整的代码,可以直接联系我
,说明你的数据库,开发使用的语言,我可以帮你写完整的代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
2853565
2015-08-26
知道答主
回答量:69
采纳率:0%
帮助的人:28.3万
展开全部
select max(工资列)from 表名称
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_linzi_
2007-12-25 · 超过22用户采纳过TA的回答
知道答主
回答量:88
采纳率:100%
帮助的人:55.2万
展开全部
拿点分就走!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
修萧曼NB
2007-12-25
知道答主
回答量:40
采纳率:0%
帮助的人:0
展开全部
select top 10 name
from emp
order by sal desc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式