題目描述
找出所有員工目前(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 salary from salaries where to_date='9999-01-01'
group by salary order by salary desc
對于distinct,groupby的性能
- 資料量非常巨大時候,比如1000萬中有300W重複資料,這時候的distinct的效率略好于group by;
- 對于相對重複量較小的資料量比如1000萬中1萬的重複量,用groupby的性能會遠優于distnct。