我有一个php网页,我在使用mysql查询中的group by计数数据时遇到了问题
提交任何问题时,ID会自动添加并且idqu = 0 如果问题回复,那么idqu等于回答问题的id
我的表和数据
id idqu question answer user date
1 0 quest1 test 28042014
2 0 quest2 scott 29042014
3 2 reply1 andy 01052014
4 0 quest3 test 01052014
5 4 reply2 scot 01052014
我的问题是如何计算问题的回复?
quest1 (0)
quest2 (1)
quest3 (1)
答案 0 :(得分:1)
此查询完成此任务。我给表格的名字是" tbl
"
Select q.id, count(a.id) as answers
From tbl q
Left join tbl a on a.idqu=q.id
Where q.idqu=0
Group by q.id
答案 1 :(得分:1)
试试这个
Select t1.question, count(t2.id) as counts
From table1 t1
Left join table1 t2 on t2.idqu=t1.id
Where t1.idqu=0
Group by t1.id
答案 2 :(得分:0)
如果我理解正确,请尝试:
SELECT question, SUM(CASE WHEN idqu > 0 THEN 1 ELSE 0 END)
FROM tablename
GROUP BY question
答案 3 :(得分:0)
select idqu, count(idqu) as reply_count
from table_name
where idqu <> 0
group by idqu
答案 4 :(得分:0)
这是针对每个回复,有点像php。我认为你不需要小组。
$query="SELECT * From YourTable WHERE idqu>0";
$res=mysql_query($query);
mysql_num_rows($res);
如果您想在一个问题上选择回复,请在查询中添加AND idqu =(yourInt)。
希望我理解并正确回复!