sql语句统计每条信息的回复条数
答案:6 悬赏:20
解决时间 2021-12-15 14:51
- 提问者网友:余味
- 2021-12-15 08:47
如:我有两个表一个留言表Message(Mid,Mtitle,Mtime)表,一个回复表Respon(Rid,Mid,Rtime),我想统计一下每条留言的回复条数,没显示到界面上,请问Sql语句要怎么写,我要取出的字段有Mtitle,Mtime,回复数,各位大侠帮帮忙!最好能给写个例子。谢啦!!!
最佳答案
- 二级知识专家网友:花一样艳美的陌生人
- 2021-12-15 09:11
只显示有回复的Message:
select m.Mtitle,m.Mtime,count(r.rid) as rcount
from Message m
inner join Respon r on m.mid = r.rid
group by m.Mtitle,m.Mtime
所有的Message:
select m.Mtitle,m.Mtime,count(r.rid) as rcount
from Message m
left join Respon r on m.mid = r.rid
group by m.Mtitle,m.Mtime
select m.Mtitle,m.Mtime,count(r.rid) as rcount
from Message m
inner join Respon r on m.mid = r.rid
group by m.Mtitle,m.Mtime
所有的Message:
select m.Mtitle,m.Mtime,count(r.rid) as rcount
from Message m
left join Respon r on m.mid = r.rid
group by m.Mtitle,m.Mtime
全部回答
- 1楼网友:修女的自白
- 2021-12-15 14:10
select mtitle,mtime,count(1) 回复数 from Message a,Respon b group by mtitle,mtime where a.mid=b.mid;
- 2楼网友:木子香沫兮
- 2021-12-15 13:12
要是不考虑性能的情况下,就用二楼的sql就可以了,否则,我建议,在Message增加回复数字段,在每次有人回复的时候,给相应主题回复数加1。 这是在大数据表的情况普遍采取的策略。
- 3楼网友:請叫我丶偏執狂
- 2021-12-15 12:08
select Mtitle, Mtime, count(Mid) as 回复数 from Message
left outer join Respon
on Message.Mid = Respon.Mid
group by Mid, Mtitle, Mtime
- 4楼网友:茫然不知崩溃
- 2021-12-15 12:02
select m.Mtitle as Mtitle ,m.Mtime as Mtime ,count(*) as count from Message m,Respon r where r.Mid = M.Mid group by m.Mid
------------------
希望有用。
-------------------如果要把0回复得也显示出来~就是---------------------------
select m.Mtitle as Mtitle ,m.Mtime as Mtime ,count(r.Rid) as count from Message m left join Respon r on r.Mid = M.Mid group by m.Mid
- 5楼网友:ー何必说爱
- 2021-12-15 10:38
方法一:通过group by ,之后count条数实现。
sql:select count(1) from tablename group by columes;
方法二:通过district函数来直接取出唯一字段,之后统计数量:
sql:select count(ditrict(columes)) from tablename;
解释:columes表示的是特殊字段。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯