列ID(id order)とIDU(id user)のテーブル "orders"があります。私はこのように計算したい:
50 person have 1 order
30 person have 2 order
etc...
私のコード(悪い)
SELECT DISTNICT count(id), count(idu) FROM orders GROUP BY idu
私を助けてください :)
これをヒストグラムクエリのヒストグラムと呼びます。特定の注文数を持つユーザーの数を知りたいとします。解決策は、サブクエリをgroup by
2回使用することです。
select cnt, count(*), min(idu), max(idu)
from (select idu, count(*) as cnt
from orders
group by idu
) ou
group by cnt;
このタイプのクエリを実行するときは、通常、ユーザーIDの最小値と最大値を含めるので、ユーザーの例(通常は注文数が多いユーザー)を簡単に見つけることができます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加