(2)查詢入職員工時間排名倒數第三的員工所有資訊
阿新 • • 發佈:2019-09-03
查詢入職員工時間排名倒數第三的員工所有資訊
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`));
select * from employees where hire_date = ( select distinct hire_date from employees order by hire_date desc limit 2,1 )
LIMIT m,n : 表示從第m+1條開始,取n條資料;
LIMIT n : 表示從第0條開始,取n條資料,是limit(0,n)的縮寫。
(1)首先需要加distinct去重。
假設 5-23(入職最晚日期)入職的有a,b,c 3人;
5-22(入職第二晚日期)入職的有d,e 2人;
5-21(入職倒數第三晚)入職的有f,g,h 3人;
5-21前入職的若干...
若 不加distinct去重,那麼按照日期倒序,limit 2,1(從倒數第2行開始,取一條資料)的查詢結果為 5-23
加了distinct去重,會按入職日期進行分組,多個相同入職日期會分為一組,這樣limit 2,1的結果即為 5-21。
(2)外層的where條件中根據子查詢查出的倒數第三晚入職的日期,就能查詢出符合條