2016-12-30 16 views
0

我在數據庫中的表結構如下顯示一行,並獲得具有相同U_ID

id u_id number game score status 
1 2 123 COC 214 active 
2 2 535 BF4 13 active 
3 3 334 GOW3 123 active 
4 2 655 AC3 79 inactive 

但是我想要得到的數據總的行數,使得每行必須具有唯一U_ID和包括顯示數據庫表中此u_id可用的次數的列,但僅列出狀態處於活動狀態的列。

id u_id count 
1 2 2 
2 3 1 

感謝

+0

您的例子不符合你的解釋或我不明白這一點 –

+0

由U_ID SELECT COUNT(ID)組,其中狀態= 'active' – LUSAQX

+0

對不起,只是一個錯誤。糾正它。現在看第二張表。 –

回答

1
select min(id) as id, u_id, count(*) as count 
from your_table 
where status = 'active' 
group by u_id 
+0

min(id) –

+0

的目的是爲每個'u_id'獲得最低的id。您應該彙總所有未分組的列。否則MySQL允許,但這是不好的做法,如果不這樣做,其他數據庫引擎會拋出錯誤。 –

-1

試試這個:

SELECT ID , U_ID , COUNT(*) 
    FROM MyTable 
GROUP BY ID,U_ID ; 
相關問題