mysql - SQL - 从 3 个表中检索结果并按日期排序

标签 mysql sql sqlite

假设我有这三个表:

╔═══╦════════════╦═════════════════════╗
║   ║ Name       ║ Date                ║
╠═══╬════════════╬═════════════════════╣
║ 1 ║ Bob        ║ 2018-07-30 14:20:03 ║
║ 2 ║ Dylan      ║ 2018-07-29 14:20:03 ║
║ 3 ║ Frank      ║ 2018-07-17 14:20:03 ║
╚═══╩════════════╩═════════════════════╝

╔═══╦════════════╦═════════════════════╗
║   ║ Name       ║ Date                ║
╠═══╬════════════╬═════════════════════╣
║ 1 ║ Bernard    ║ 2018-07-31 14:20:03 ║
║ 2 ║ Max        ║ 2018-07-28 14:20:03 ║
║ 3 ║ Dan        ║ 2018-07-16 14:20:03 ║
╚═══╩════════════╩═════════════════════╝

╔═══╦════════════╦═════════════════════╗
║   ║ Name       ║ Date                ║
╠═══╬════════════╬═════════════════════╣
║ 1 ║ Maria      ║ 2018-07-12 14:18:03 ║
║ 2 ║ Sofia      ║ 2018-07-30 14:23:03 ║
║ 3 ║ Lila       ║ 2018-07-25 14:22:03 ║
╚═══╩════════════╩═════════════════════╝

我想知道如何选择前 3 个元素,按日期排序(首先是距离现在最近的日期),以便最终我的查询结果如下所示:

╔═══╦════════════╦═════════════════════╗
║   ║ Name       ║ Date                ║
╠═══╬════════════╬═════════════════════╣
║ 1 ║ Bernard    ║ 2018-07-31 14:20:03 ║
║ 2 ║ Sofia      ║ 2018-07-30 14:23:03 ║
║ 3 ║ Bob        ║ 2018-07-30 14:20:03 ║
╚═══╩════════════╩═════════════════════╝

干杯!

最佳答案

SELECT *
FROM
(
    SELECT * FROM Table1
    UNION ALL
    SELECT * FROM Table2
    UNION ALL
    SELECT * FROM table3
) tmp
ORDER BY DATE DESC
LIMIT 3;

关于mysql - SQL - 从 3 个表中检索结果并按日期排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51671416/

相关文章:

mysql - Rails 3 - 存储 float 的问题

SQL Server 使用 LIKE 在名字列中搜索 ""个字符

mysql - 如何在MySQL中找到创建 View 的SQL语句?

sql - SQL语句-Java

php - 如何从一对多关系中使用 SQL 获取平均税率

mysql - 1305 - 程序 db.delete_catelog_item 不存在

mysql - 如何为表中的每一行运行特定的 sql 查询?

android - 升级具有多个表的Android应用程序数据(不破坏未受影响的表)

c++ - SQLite 是否使用 SQLCipher 扩展泄漏内存?

python - 如何防止多个 python 脚本同时访问 MySQL 数据库时发生冲突?