01 查找最晚入职员工的所有信息。
最晚入职日期就是最大的日期,但要考虑到最晚入职日期当天,有可能多人入职。
解法一:
假设所有入员工都不是同一天入职,则按日期倒叙,取出第一个日期对应的员工信息即可。
select * from employees
order by hire_date desc
limit 1;(用时19ms,占内存3432K)
解法二:
入职员工有可能同一天入职。
select * from employees
where hire_date = (
select max(hire_date)
from employees);(用时19ms,占内存3304K)
注:使用聚集函数,聚集函数是对某些行进行计算的函数,并且只返回一个值。例如:avg();max();min();count();sum()
02 查找入职员工时间排名倒数第三的员工所有信息
同样倒数第三入职时间当天,可能有多名员工入职,所以要先选出时间,再根据时间,选出当天入职员工的信息。
select * from employees
where hire_date = (
select distinct hire_date from employees
order by hire_date desc
limit 2,1);(运行时间:19ms占用内存:3552k)