[SQL] 数据去重 DISTION 还是 GROUP BY?

对于distinct与group by的使用:
1、当对系统的性能高并数据量大时使用group by
2、当对系统的性能不高时使用数据量少时两者皆可
3、尽量使用group by

简单实例:

找出所有员工当前(to_date='9999-01-01')具体的薪水salary情况
对于相同的薪水只显示一次,并按照逆序显示

CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`))

代码:

SELECT DISTINCT salary FROM salaries

WHERE to_date ='9999-01-01' ORDER BY salary DESC

等价于

SELECT salary FROM salaries
WHERE to_date='9999-01-01'
GROUP BY salary
ORDER BY salary desc

你可能感兴趣的:(sql)