簡體   English   中英

如何用group by計算mysql數據

[英]how can I count mysql data with group by

我有一個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)

此查詢完成此任務。 我把桌子上的名字叫做“ 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

嘗試這個

    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

DEMO

如果我理解正確,請嘗試:

SELECT question, SUM(CASE WHEN idqu > 0 THEN 1 ELSE 0 END)
FROM tablename
GROUP BY question
select idqu, count(idqu) as reply_count
from   table_name
where  idqu <> 0
group by idqu

這是每個回復,有一點PHP。 我認為你不需要小組。

$query="SELECT * From YourTable WHERE idqu>0";
$res=mysql_query($query);
mysql_num_rows($res);

如果要在一個問題上選擇回復,請在查詢中添加AND idqu =(yourInt)。

希望我理解並正確回復!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM