2011-12-19 58 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 2011-12-20 00:00:09