MySQL读取数据库结果排序时按特定的条件优先排序
需求
一个帖子发布时,关联了一些商品,根据商品ID读取被关联的帖子时,按置顶帖子优先排序
商品表 tb_goods 帖子表 tb_posts 关联表 tb_relation
一般排序读取如下
select * from tb_relation r left join tb_posts p on p.id = r.postid left join tb_goods g on g.id = r.goodsid where r.goodsid = 100 order by p.id
这样就可以根据帖子ID值正序或倒序排列,但无法按置顶帖子优先排序
解决方案
具体写法是