mysql - 有关sql语句limit的用法
ringa_lee
ringa_lee 2017-04-17 13:51:16
[MySQL讨论组]

= =整理了下语句
大概就是这个意思,
我想让表A和表B on条件成立的的内容排在查询结果前面,剩下的(比如limit 6,on成立的3个)3个从表A的剩下的内容中降序补齐。()


我有两个表,表A和表B,我想表A left join 表B,on A的某个字段=B的某个字段,然后limit 6。假如不满6就按照表A的某个字段的降序补齐6个。
我写的是(有错的)

$sql=" SELECT A.id FROM moments LEFT JOIN A ON A.id=B.id ORDER BY Mdate DESC,TIME DESC LIMIT 6";
J假如表a的id字段和表b的id字段只有三个一样的,那么查询结果我想得到的是,
A(on条件成立的)
B(on条件成立的)
C(on条件成立的)
Z((on条件不成立的,是从A表某个字段降序补齐的))
Y
X
请问我该如何修改这条语句

ringa_lee
ringa_lee

ringa_lee

全部回复(1)
黄舟

可以考虑先用join出来一个临时表,再根据你的排序要求得到另外的临时表,将两张表进行union成为一张表,再limit
大概是这样的mysql:
select a.id from a inner join b using(id)
union
select id from a order by ...
limit 10;

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

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