0

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

  1. 我正在使用 Derby SQL

这是我之前对这个问题的解决方案

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

我真的很想避免额外的Java代码......

感谢所有帮助!

4

2 回答 2

3
SELECT Value, COUNT(*) / (SELECT COUNT(*) FROM dataset) AS Frequency
FROM dataset
GROUP BY Value
于 2012-11-21T23:28:51.867 回答
1
SELECT COUNT(DISTINCT value)
  FROM dataset
于 2012-11-21T23:15:08.897 回答