我有 3 个表(articlestbl、businesstbl、photostbl)。现在,我想在仅一个查询中获取每个表的前 2 条最新更新记录。这些表彼此不相关(没有外键)。可以这样做吗?如果是这样,该怎么做。谢谢。
文章stbl
art_id art_description art_date 1 article1 2014-06-02 2 article2 2014-06-01 3 article3 2014-06-02
业务表
bus_id bus_description bus_date 1 business1 2014-05-09 2 business2 2014-06-01 3 business3 2014-06-02
照片
p_id p_description p_date 1 photos1 2014-05-09 2 photos2 2014-04-01 3 photos3 2014-03-02
行结果应为
文章1
文章3
业务2
业务3
照片1
照片2
最佳答案
使用UNION ALL
:
SELECT * FROM articlestbl ORDER BY art_date DESC LIMIT 2
UNION ALL SELECT * FROM businesstbl ORDER BY bus_date DESC LIMIT 2
UNION ALL SELECT * FROM photostbl ORDER BY p_date DESC LIMIT 2
但是您需要从三个不同的表中读取数据的事实可能暗示了设计问题。你在这里所做的看起来像 Class Table Inheritance ,考虑查看Single Table Inheritance哪个更有效率
关于php - 如何获取mysql中每个表的前2条更新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24591473/