我遇到SQL问题,我解释一下:
我有2张桌子
announcements_job
announcements_education
下面你可以看到表的预览
announcements_education
announcements_job
我认为我的数据库结构不是很好......但是要迟到了! (忘了我的数据类型,实际上是废话),我是个坏人吗?
那么:你如何获取最后5条记录ORDER BY insert_db_date(在这两个表之间)?
- >如果不可能,你有另一个解决方案吗?
提前致谢;)
答案 0 :(得分:1)
在选择之前,您需要在列中应用订单。也就是说,假设您还没有添加最新的条目。但最好是安全而不是抱歉!
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
让我知道它有效!