php - 如何从多个表中获取按时间排序的最后 30 个项目?

标签 php mysql sql

我有大约 3 个表可以从他们那里获取信息:

  • 文章
  • 帖子
  • 图片

所有这些表都有“created_at”列。

我想获取按created_at列排序的最后30个项目抛出sql查询, 在最坏的情况下,我将不得不从任何表中弹出 30 个项目,并通过 php 代码从数组中对其进行排序。

最佳答案

像这样的事情怎么样:

(SELECT * FROM articles)
UNION 
(SELECT * FROM posts)
UNION 
(SELECT * FROM pictures)
ORDER BY created_at DESC 
LIMIT 30

这未经测试,但应该可以工作。确保将“*”更改为您正在使用的任何字段。

关于php - 如何从多个表中获取按时间排序的最后 30 个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6049714/

相关文章:

php - 如何使用 PHP 增加文本文件中的单个数字

PHP - 多个 while($row = mysql_fetch_array($variable)) { } 错误

javascript - 提交表格并将其发布到主页

sql - 对 ado 查询结果中的一列字段求和?

mysql - SQL - 嵌套查询的计数仍然很快吗?

sql - 在选择查询中插入 if

php - 处理来自第三方API的错误

php - 取消设置php中的字符串偏移量

php - MySQL查询错误(使用php)

php - 如何在MYSQL中制作用户隐私表