我对 SQL 有疑问,我解释一下:
我有 2 张桌子
公告工作
公告_教育
您可以在下面看到表格的预览
公告_教育
公告工作
我认为我的数据库结构不是很好......但为时已晚!(忘记我的数据类型,实际上是胡说八道),我是坏人吗?
所以:你怎么能得到最后 5 条记录 ORDER BY insert_db_date (这两个表之间)?
-> 如果不可能,您有其他解决方案吗?
提前致谢 ;)
在选择之前,您需要将订单应用到您的列。也就是说,假设您尚未添加总是最新的条目。但最好是安全而不是抱歉!
SELECT * FROM announcements_education ORDER BY DESC insert_db_date LIMIT 5;
分别:
SELECT * FROM announcements_job ORDER BY DESC insert_db_date LIMIT 5;
您必须指定按降序排序,因为默认ORDER BY
将按升序排序。该LIMIT
语句将确保您只返回前五个条目。由于您的表格是按从最新条目数据到最新的顺序排列的,因此仅显示最近的五个。
更新:
我稍微误读了你的问题。如果你想在两个表中都获得前 5 名,下面的代码就是你想要的。
(SELECT * FROM announcements_education ORDER BY DESC insert_db_date)
UNION ALL
(SELECT * FROM announcements_job ORDER BY DESC insert_db_date)
LIMIT 5
让我知道它有效!