表
SQL
SELECT * FROM employees WHERE
hire_date = (SELECT DISTINCT hire_date FROM employees ORDER BY hire_date DESC LIMIT 2,1)
思路
1.使用 ORDER BY 根据入职时间降序
2.使用 LIMIT 取出倒数第三的时间
3.使用 DISTINCT 进行去重
注意点
题目可能存在时间重复的情况,如上图,倒数第二的时间重复了,那么直接 LIMIT 取出倒数第三时间,得到的结果不是我们需要的,使用 DISTINCT 进行去重
学习点
-
取出某某排名XX的数据
第一反应要联想到 ORDER BY 函数进行排序 -
LIMIT 函数的用法
LIMIT 2,1 表示查询得到的结果记录,从第3条记录开始,取出1条记录,因为默认是从0开始的,所以2表示第3条 -
DISTINCT 函数作用是去重
需要去重,应该联想到,DISTINCT 函数和 GROUP BY 函数

京公网安备 11010502036488号