天天看點

資料庫SQL實戰 --6.找出所有員工目前薪水salary情況

題目描述

找出所有員工目前(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。

繼續閱讀