两个表:
信息表message(mid,title,hits),id为主键,
回复表comments(cid,mid,contents),cid为主键,外键mid关联到message(mid).要求: 查询数据库需要得到以下格式的文章标题列表,并按照回复数量排序,回复最高的排在最前面 。格式为: 文章id 文章标题 点击量 回复数量ps:不知道怎么把字表的回复数量和父表的信息关联到一起显示啊,哪位大侠帮帮吗。

解决方案 »

  1.   


    select m.mid 文章id, m.title 文章标题, m.hits 点击量, c.counts 回复数量
    from message m
    left join (select mid, count(mid) counts from comments group by mid) c
    on m.mid = c.mid
      

  2.   

    SELECT mid, title, hits, COUNT(*) cnt
      FROM message a, comments b
     WHERE b.mid = a.mid
     GROUP BY a.mid, a.title, a.hits
     ORDER BY 4 DESC;
      

  3.   

    +1
    4 DESC 用的是第四列(COUNT(*) cnt) 降序吗。