**
題目描述
**
查找入職員工時間排名倒數第三的員工所有信息
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,
條件是hire_date,
考慮到排序=order by,
倒數需要降序=desc,
選擇倒數第三=limit
考慮到可能有多名員工的請,在加上一個distinct就OK啦
代碼:
select * from employees
where hire_date = (
select distinct hire_date from employees order by hire_date desc limit 2,1
)
總結:
一開始,我認爲是選出第三行的信息即可,但沒有考慮到可能有多個人的情況,後來查看網上其他人的答案得出了這個比較好的解決方法。