2 查詢入職員工時間排名倒數第三的員工所有資訊

2021-10-04 07:07:02 字數 849 閱讀 9070

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 ...