数据集中的SQL频率计数

时间:2012-11-21 23:12:55

标签: java sql dataset frequency

我有一个带有ID和值的数据集。对于每个值,我想在数据集中获得其对应的频率。 什么是最有效的纯SQL查询解决方案?(不使用java等...)或者将Java与SQL一起使用会更高效吗?

  1. 我正在使用Derby SQL
  2. 这是我之前解决此问题的方法

    1. 在新表中获取所有不同的值并添加频率列
    2. 编写Java代码以遍历此新表中的所有不同值并对原始数据集运行计数查询
    3. 我真的想避免额外的Java代码......

      感谢所有帮助!

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

SELECT COUNT(DISTINCT value)
  FROM dataset