mysql小练习:如何查询表中倒数第三日的全部数据

文 / @WordPress主题

如何查询表中倒数第三日的全部数据

MySQL作为一套成熟的关系型数据库管理系统,其查询操作的功能非常强大。本文将介绍如何使用MySQL查询表中倒数第三日的全部数据。

首先,本文提供的查询语句用到了两个操作:去重和子查询。在查询员工表倒数第三入职日期的所有员工时,可能会出现同一天入职的员工。因此,在查询出所有的入职日期之后需要先对日期进行去重,才能够得到第三个日期。然后,再使用这个日期去查询所有入职日期相等的员工信息。

查询语句如下:

SELECT *
FROM `employees`
WHERE `hire_date` = (
SELECT DISTINCT `hire_date`
FROM `employees`
ORDER BY `hire_date` DESC
LIMIT 2, 1
)

以上语句表达的意思是:在员工表`employees`中选择所有入职日期等于倒数第三个日期的员工信息,并将其输出。

下面是本文提供的完整的SQL脚本:

CREATE DROP TABLE IF EXISTS `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,
);
INSERT INTO `employees` (
`emp_no`,
`birth_date`,
`first_name`,
`last_name`,
`gender`,
`hire_date`
) VALUES (
1,
'2021-08-04',
'Georgi',
'Facello',
'M',
'1980-06-21'
);
INSERT INTO `employees` (
`emp_no`,
`birth_date`,
`first_name`,
`last_name`,
`gender`,
`hire_date`
) VALUES (
2,
'2021-08-20',
'Bezalel',
'Simnel',
'F',
'1985-11-21'
);
INSERT INTO `employees` (
`emp_no`,
`birth_date`,
`first_name`,
`last_name`,
`gender`,
`hire_date`
) VALUES (
3,
'2021-08-20',
'Parto',
'Bamford',
'M',
'1986-08-28'
);
INSERT INTO `employees` (
`emp_no`,
`birth_date`,
`first_name`,
`last_name`,
`gender`,
`hire_date`
) VALUES (
4,
'2021-08-20',
'Chirstian',
'Koblick',
'M',
'1986-12-01'
);

以上是唯一执行一次的初始化操作,之后即可执行查询语句。

最后,在使用MySQL的过程中,建议大家多学习MySQL的各种常用操作,方便快捷地处理数据和查询信息。同时,建立良好的数据库规范也可以提高数据的规范性和查询效率。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。