mysql - MySQL-从 5 个表中查找最新数据
问题描述
我有5个表,数据如下
表格1
id_1 name created_at flag
=============================================================
1 Daniel 2021-03-16 12:25:18 0
2 Pearson 2021-03-18 10:25:10 0
3 Scottie 2021-03-19 12:25:18 0
4 Mike 2021-03-21 13:40:03 0
表 2
id_2 name created_at flag
==============================================================
1 Louis 2021-03-11 10:25:10 0
2 Jessica 2021-03-12 11:36:16 0
3 Maggie 2021-03-21 12:25:18 0
4 Megan 2021-03-13 13:40:03 0
表3
id_3 name created_at flag
==================================================================
1 Jon 2021-03-10 12:16:45 0
2 Natalie 2021-03-08 12:45:15 0
3 Victoria 2021-03-08 12:51:00 0
4 Michael 2021-02-12 12:51:17 0
表 4
id_4 name created_at flag
==============================================================
1 Emily 2021-03-11 13:14:23 0
2 Rose 2021-03-11 12:14:20 0
3 Abigaile 2021-03-11 15:28:56 0
4 Mac 2021-03-11 13:14:23 0
表 5
id_5 name created_at flag
==================================================================
1 Abella 2021-03-12 12:51:17 0
2 Patrick 2021-03-12 11:48:17 0
3 Josh 2021-03-12 10:52:17 0
4 Goldwin 2021-03-12 13:24:17 0
我想获取最新的数据和最过时的数据。
这个问题的答案基本相同,基于两张表。但是,如果有 5 个(如我的情况),甚至更多怎么办。我应该使用join
还是有更好的?
PS-另外,每个表中可能有数以万计的数据要搜索。
解决方案
在这种情况下,最好在相同的表之间执行联合作为子查询,然后执行排序操作并可能对结果进行限制。您可以为两个不同的查询翻转ORDER BY ( DESC / ASC )。
SELECT name,
created_at
FROM (SELECT name,
created_at
FROM table1
UNION
SELECT name,
created_at
FROM table2) t
ORDER BY created_at DESC
LIMIT 5;
推荐阅读
- c# - 必应地图 API 2 点之间的距离
- javascript - 使用ajax,php在单击同一页面上获取ID
- python - 将 np.linalg.norm 与“nuc”范数一起使用时,“矩阵的范数顺序无效”
- html - 我想将我的消息推送到一个数组中并在 HTML 上显示
- android - 如何根据数据库值从 android spinner 中选择的值中设置值?
- c# - 获取数据时获取 CORB 问题
- java - 是否可以通过 Apache Mina SSHD ServerSession 获取 SSH/SFTP 客户端的 IP 地址?
- python - Python找到第N个素数
- charts - 如何摆脱谷歌图表工具提示数据中的逗号?
- java - 当用户单击确定时,onActivityResult 结果代码也为零