mysql - 在表1中按某个colume值排序取前五,表二中按相同colume值排序取前五,在两表取的数据中再取前五,这个操作怎么写?
巴扎黑
巴扎黑 2017-04-17 13:02:51
[MySQL讨论组]

例如表一table_1,三个字段id, name, time
表二table_2,三个字段id,name,time
各自查询表中time最大值,再取两者中较大的一个,并标注来自表

巴扎黑
巴扎黑

全部回复(2)
怪我咯

自问自答:
SELECT
temp.id, temp.time, temp.ttable
FROM
((SELECT
id, time, '1' ttable
FROM
table_1
ORDER BY time DESC
LIMIT 5) UNION ALL (SELECT
id, time, '2' ttable
FROM
table_2
ORDER BY time DESC
LIMIT 5)) AS temp
ORDER BY time DESC
LIMIT 5

天蓬老师
SELECT id,NAME,TIME,table_name FROM (
    (SELECT id,NAME,TIME,'tab1' AS table_name FROM tab1 ORDER BY TIME DESC LIMIT 0,5)
    UNION
    (SELECT id,NAME,TIME,'tab2' AS table_name FROM tab2 ORDER BY TIME DESC LIMIT 0,5)
) AS tmp ORDER BY TIME DESC LIMIT 0,1
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号