搜索

首页  >  问答  >  正文

php - sql如何根据其他表中的‘数量’进行排序

场景是这样的
有一个文章表 article
字段:aid content
还有一个点赞表 praise 字段: id aid time
点赞表的aid字段存的是对应文章的aid
现在要获取文章列表但是要根据点赞数从大到小排列,这个SQL怎么写?
谢谢。

曾经蜡笔没有小新曾经蜡笔没有小新2830 天前719

全部回复(4)我来回复

  • 天蓬老师

    天蓬老师2017-05-16 13:11:04

    数据量大的话,left join相对比较慢,如果是分页显示或者只是求前面几十条的数据,可以先求点赞表排序好了的aid,再在文章表中找这些aid对应的文章

    回复
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 13:11:04

    从文章a中选择a.内容向左加入对a.aid=b.aid的赞美b.aid按b.time desc排序

    回复
    0
  • 阿神

    阿神2017-05-16 13:11:04

    雷雷

    回复
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 13:11:04

    从文章a中选择a.aid,count(p.aid) num,在a.aid=p.aid上加入赞美p a.aid=p.aid group by p.aid order by num desc;

    回复
    0
  • 取消回复