2016-09-20 11 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'を2回ですか? – Jigar

+0

ヒストグラムのヒストグラム**が好き** – 1000111