2012-11-21 101 views
0

我有一個包含ID和值的數據集。對於每個值,我希望在數據集中獲得相應的頻率。 什麼是最高效的純SQL查詢解決方案?(即不使用Java等)或者使用Java與SQL更高效?數據集中的SQL頻率計數

  1. 我使用的德比SQL

這是我以前對這個問題

  1. 解決方案中獲得一個新的表中的所有不同的值,並添加一個頻率列
  2. 編寫Java代碼遍歷此新表中的所有不同值並對原始數據集運行計數查詢

我真的想避免額外的Java代碼...

所有幫助表示讚賞!

回答

1
SELECT COUNT(DISTINCT value) 
    FROM dataset 
+1

那裏有我的大腦去了? – CodeKingPlusPlus

+1

這不是我所謂的「頻率」 –

3
SELECT Value, COUNT(*)/(SELECT COUNT(*) FROM dataset) AS Frequency 
FROM dataset 
GROUP BY Value 
+0

我相信這是相對頻率/比例?這聽起來是對的嗎? – CodeKingPlusPlus

+0

是的 - 那就是我如何理解你的問題 – pkmiec