Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 查询以显示员工姓名、部门号和部门号中的最高工资_Sql Server - Fatal编程技术网

Sql server 查询以显示员工姓名、部门号和部门号中的最高工资

Sql server 查询以显示员工姓名、部门号和部门号中的最高工资,sql-server,Sql Server,我需要一个查询来显示员工姓名、部门编号和部门编号中的最高工资 范例 ENAME SAL dept no KING 5000 10 FORD 3000 20 SCOTT 3000 20 BLAKE 2850 30 正如评论者所说,当你提供更多关于你所尝试的细节时,这是很有帮助的 尽管如此,我认为你在寻找这样的东西: ;with cte as ( select ename, sal, [dept no] , row_nu

我需要一个查询来显示员工姓名、部门编号和部门编号中的最高工资

范例

ENAME   SAL    dept no
KING    5000    10
FORD    3000    20
SCOTT   3000    20
BLAKE   2850    30

正如评论者所说,当你提供更多关于你所尝试的细节时,这是很有帮助的

尽管如此,我认为你在寻找这样的东西:

;with cte as (
    select ename, sal, [dept no]
        , row_number() over (partition by [dept no] order by sal desc, ename) rn
    from your_table
)
select *
from cte
where rn = 1

请注意,您的示例数据显示[dept no]20的SAL为3000。为了打破僵局,我将
ename
添加到
orderby
语句中。

此查询显示正确

select ENAME, SAL, [deptno]
from (
    select *
        , DENSE_RANK() over(partition by [deptno] order by sal desc) as Highest_sal
    from Employee
) a
where a.Highest_sal = 1

Hi Kalleshi-当你提出一个问题时,试着添加一个最小的内容:输入样本、预期的输出样本、你尝试了什么、研究了什么以及你被困在哪里,这将确保有足够的上下文让stackoverflow的人来帮助你。谢谢