我有一个表员工:
name salary
jhon 5000
jaz 5000
raja 1234
rubi 1234
我需要获得像
这样的输出 name salary
jhon 5000
raja 1234
NAME
应该是任何人(jhon和jaz)或(raja和rubi)分别为薪水5000,1234
答案 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
答案 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