1. 题目描述
1.1 输入
有一个employees表简况如下:
建表语句如下:
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));
1.2 输出
请你查找employees里入职员工时间排名倒数第三的员工所有信息,以上例子输出如下:
2. 题目分析及解答
2.1 题目分析
根据题意,SQL查询包含两个步骤:
- 将employees表按照员工入职时间hire_date降序排列;
- 从得到的排列结果中选择第三条员工记录作为输出。
2.2 详细解答
根据题目分析可直接写出相应的SQL查询语句:
SELECT * FROM employees ORDER BY hire_date DESC LIMIT 1 OFFSET 2;
或:
SELECT * FROM employees ORDER BY hire_date DESC LIMIT 2, 1;
以上两者的写法等价。