2010-06-22 179 views
0

鑑於以下數據:如何使用SQL輸出數據發生的次數?

total visits number of visitor ids 
     1    3 
     2    1 
     3    1 

即數據分解成:

visit_id 
    1 
    1 
    1 
    2 
    3 
    3 
    4 
    5 

僅使用SQL(MySQL的方言實際上,和其他編程語言沒有循環)輸出,纔有可能它們發生的次數?所以在上面的例子中,有3個訪問ID只出現一次(2,4,5),一個訪問ID出現兩次(3),一次出現三次(1)。

謝謝

回答

3

大廈FRANTISEK的回答

select acc.visitCount as total_visits, 
     count(acc.visitCount) as number_of_visitor_ids 
    from (
select visit_id, 
     count(visit_id) as visitCount 
    from visits 
group by visit_id 
) acc 
group by acc.visitCount 
+0

這是正確的。 – 2010-06-22 09:34:00

+0

太棒了,謝謝 – 2010-06-22 10:01:11

4

當然,它被稱爲分組。

select visit_id, count(visit_id) from visits group by visit_id

+0

我想這太,但似乎這是錯誤的。注意「3 => 1」:s – 2010-06-22 08:41:55

+0

是的,這不太正確。我想我需要使用一個SQL變量...... – 2010-06-22 08:46:38

+0

我已經編輯我的問題,以更清楚地解釋我想要實現的。 – 2010-06-22 08:55:32

相關問題