select message.id,message.title,message.hit,count(*) from message left join comment on message.id=comment.id group by comment.id order by count(*) desc
select 文章id,文章标题,点击量,(select count(*) from comment where 文章id=message.文章id) as 回复数量 from message order by 4 desc
不是效率的问题,你那样写是不符合要求的,如果某篇文章没有回复,回复数也变成1了,不能用count(*) 要么就先统计好再left join,要么用case when 判断为null的统计为0,不为null的统计为1,然后合计
order by count(*) desc
from message
order by 4 desc
不是效率的问题,你那样写是不符合要求的,如果某篇文章没有回复,回复数也变成1了,不能用count(*)
要么就先统计好再left join,要么用case when 判断为null的统计为0,不为null的统计为1,然后合计