php - 如何获取mysql中每个表的前2条更新记录

标签 php mysql sql

我有 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/

相关文章:

php - Paypal ipn 监听器 feof() : 30 is not a valid stream resource

php - 保存数据库查询并每隔 X 小时自动更新一次。 WordPress的

mysql - 有没有办法用一个查询来做到这一点?

c# - 在 C# 中复制 T-SQL DecryptByPassPhrase

sql - 使用索引提高 Postgresql 中的查询性能

mysql - 如何显示连接到第二个表的一个表的结果,即使第二个表没有任何匹配记录?

javascript - 单击菜单时超链接问题不重定向到另一个网页

php - 将php扩展编译成dll

php - 如何使用 jQuery 查询动态数据库?

mysql - Jquery数据表: Count records with Left Join and Where clause