2016-09-20 164 views
0

我有列ID(id訂單)和IDU(id用戶)的表「訂單」。 我想算這樣的:MySQL SELECT COUNT GROUP

50 person have 1 order 
30 person have 2 order 
etc... 

我的代碼(壞)

SELECT DISTNICT count(id), count(idu) FROM orders GROUP BY idu 

請幫我:)

+0

請您分享您的表格結構以及一些示例數據嗎? – 1000111

+0

你想要那樣的文字嗎? –

回答

3

我把這個直方圖查詢的直方圖。您想知道有多少用戶具有給定的訂單數量。的解決方案是使用子查詢和group by兩次:

select cnt, count(*), min(idu), max(idu) 
from (select idu, count(*) as cnt 
     from orders 
     group by idu 
    ) ou 
group by cnt; 

當運行這種類型的查詢,我通常包括用戶ID的最小值和最大值,所以可以容易地找到(用戶的例子典型地是那些具有許多命令)。

+1

你的意思是'group by'兩次? – Jigar

+0

喜歡這個詞**柱狀圖直方圖** – 1000111