首页 > 有关sql语句limit的用法

有关sql语句limit的用法

= =整理了下语句
大概就是这个意思,
我想让表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
请问我该如何修改这条语句


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

【热门文章】
【热门文章】