使用distinct时的SQL查询

时间:2009-10-05 09:53:15

标签: sql-server-2005 distinct

我想知道在编写SQL查询时是否可以在不同的列中使用distinct。如果是,那么如果我的员工表具有id,name,salary,addr as columns

,那么该语句是什么

1 个答案:

答案 0 :(得分:3)

没有

区别于整个元组。

你不能拥有

SELECT DISTINCT(name), salary, addr, Id from employee

如果你想按工资分组,你可以做一些像

这样的事情
SELECT salary, name,  addr, Id from employee
GROUP BY name,  addr, Id 

进一步扩展

当您使用distinct时,它会消除整个结果集的重复

所以,如果你的表是这样的话

1'John''1我的街道''$ 1000'

2'Janet''1我的街道''$ 1000'

你打电话

SELECT DISTINCT addr, salary FROM employee

你将得到1个结果

  

'1我的街道''$ 1000'

但是如果你想打电话

SELECT DISTINCT addr, salary, **name** FROM employee

你将得到2个结果

  

'约翰''1我的街道''$ 1000'
  '珍妮特''我的街道''$ 1000'

你不能说给我一个不同的工资和地址,但名字不同。它没有意义