2011-12-19 19 views
0

私はチュートリアル(tutorial_id、user_id、tutorial_date)を持つテーブルを持っており、特定の数のチュートリアルを行ったユーザーの数を調べることができます。 6つのチュートリアル、および2つのチュートリアルをした3人のユーザをした5人のユーザがいた場合ユニークなカウントによる個別のカウントと集計

だから、私は次のような出力をしたいと思います:

Tutorial_Count (unique)   Number of Students With this Tutorial Count 
6         5 
2         3 

私は明確な数(最初の列)を取得することができます:

SELECT DISTINCT COUNT(user_id) from tutorials group by user_id 

しかし、私はこれらの括弧に収まるユーザーの数を数える方法はわかりません。

答えて

1

テストされていないが、これを試してみてください。

;WITH cte AS 
(
    SELECT COUNT(user_id) AS Tutorial_Count 
    FROM tutorials 
    GROUP BY user_id 
) 
SELECT DISTINCT 
    Tutorial_Count, 
    COUNT(*) OVER (PARTITION BY Tutorial_Count) AS [Number of Students With this Tutorial Count] 
FROM 
    cte; 
+0

エース!!!!それは素晴らしい作品! – Caveatrob

関連する問題