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

2021-08-28 21:00:11 字數 800 閱讀 5793

題目描述

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

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`));

輸入描述:

無輸出描述:

emp_no

birth_date

first_name

last_name

gender

hire_date

10005

1955-01-21

kyoichi

maliniak

m1989-09-12

思路:將員工的入職時間按照從晚到早,即從大到小的順序排序,去除時間重複的(使用distinct),得到無重複的入職時間資料,然後從中選出倒數第三個,最後查詢這個時間對應的員工的所有資訊。

select * from employees

where hire_date =

(select distinct hire_date from employees order by hire_date desc limit 2, 1);

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

查詢入職員工時間排名倒數第三的員工所有資訊,為了減輕入門難度,目前所有的資料裡員工入職的日期都不是同一天 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 查詢入職員工時間排名倒數第三的員工所有資訊

select from employees order by hire date desc limit2,1 指定日期按照倒敘排列然後取第三個 select from employees where hire date select distinct hire date from employees...