我需要帮助在SQL Server中编写我的查询

时间:2013-12-11 08:35:52

标签: sql database sql-server-2008-r2

我有一个表员工:

name  salary
jhon   5000
jaz    5000
raja   1234
rubi   1234

我需要获得像

这样的输出
  name      salary
  jhon       5000
  raja       1234

NAME应该是任何人(jhon和jaz)或(raja和rubi)分别为薪水5000,1234

3 个答案:

答案 0 :(得分:4)

在SQL中无法轻易表达“任何” - 即使您不在乎,也往往必须给出规则。

所以,

select MIN(Name) as Name,Salary from employee group by salary

将按字母顺序选择最早排序的name

答案 1 :(得分:0)

这是获得结果的另一种方式

with cte as
( 

select *,ROW_NUMBER() over (partition by salary order by name)as rn from table)

select * from cte where rn=2

fiddle demo

答案 2 :(得分:-1)

你的问题很不完整,包括你的标准,但看看这是否足以满足你的需求

select name, Salary from [Employee] where Salary = '5000'

将返回

jhon 5000和jaz 5000

select name, Salary from [Employee] where Salary = '1234'

将返回

raja 1234和rubi 1234