欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

mysql 多个表要怎么查出里面内容按最后更新时间排列

程序员文章站 2022-05-12 16:26:27
...
mysql 多个表要怎么查出里面内容按最后更新时间排列
字段四个表都一样,只有内容不一样
表名:aaa,bbb,ccc,ddd 四个表

表字段:title,classid,userid,newstime,classname,images


我现在想把没有任何关联的四个独立表,查出最后更新(newstime)的降序,且userid=2,十条记录内容出出来要怎么写?
newstime 字段 Unix时间戳 格式
userid 字段是用户ID的字段(也就是要查出这个用户最后更新的内容按时间降序十条出来)

回复讨论(解决方案)

select a.* from aaa as a union all select b.* from bbb as b union all select c.* from ccc as c union all select d.* from ddd as d where userid = 2 orderby newstime desc limit 10

楼上正解。

测试一下哦

select a.* from aaa as a union all select b.* from bbb as b union all select c.* from ccc as c union all select d.* from ddd as d where userid = 2 orderby newstime desc limit 10



$ecms_bq_sql=$empire->query("select a.* from ds_ecms_nanxie as a union all select b.* from ds_ecms_nvxie as b union all select c.* from ds_ecms_tongxie as c where userid=1 order by newstime desc limit 10");
$bqno=0;
while($bqr=$empire->fetch($ecms_bq_sql))
{


以上这样写出错
The used SELECT statements have a different number of columns
select a.* from ***_ecms_nanxie as a union all select b.* from ***_ecms_nvxie as b union all select c.* from ***_ecms_tongxie as c where userid=1 order by newstime desc limit 10

另外问下,四个表如果数据上5W条的话,这样查会不会假死了?

OK了,是有个表字段更少些,有个多些