select
*from employees
order
by hire_date desc
limit2,
1;
指定日期按照倒敘排列然後取第三個
select
*from employees
where hire_date =
(select
distinct hire_date from employees order
by hire_date desc
limit2,
1)
還是同一天多人入職的情況
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條件中根據子查詢查出的倒數第三晚入職的日期,就能查詢出符合條件的員工資訊。
注:distinct
:指定列去重
limit m,n
:表示從第m+1條開始,取n條資料;
limit n
:表示從第0條開始,取n條資料,是limit(0,n)的縮寫。
查詢入職員工時間排名倒數第三的員工所有資訊
查詢入職員工時間排名倒數第三的員工所有資訊,為了減輕入門難度,目前所有的資料裡員工入職的日期都不是同一天 1.先把入職時間按照從小到大的排序 select hire date from employees2 order by hire date desc 2.在通過limit拿到倒數第三的入職時間 ...
查詢入職員工時間排名倒數第三的員工所有資訊
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 入職倒數第三晚 入職...
2 查詢入職員工時間排名倒數第三的員工的所有資訊
題目描述 查詢入職員工時間排名倒數第三的員工所有資訊 create table employees emp no int 11 not null,birth date date not null,first name varchar 14 not null,last name varchar 16 ...