我有两个字段的简单表格,单词,频率......
- Words Frequncy
- ABC 5
- DEF 7
- GHI 9
- ABC 3
- DEF 2
- GHI 1
这些单词以不同的频率重复,我想将每个单词的Frequncy值相加到
- ABC 8
- DEF 9
- GHI 10
在查询中。
答案 0 :(得分:1)
您需要group by
条款。该子句的作用是,由于缺少更好的单词,将结果分组为其中指定的列中的每个不同值。然后,可以为每个组单独应用聚合函数(如sum
)。因此,在您的使用案例中,您希望对Words
中每个值的行进行分组,然后对每个组的Frequency
求和:
SELECT Words, SUM(Frequency)
FROM MyTable
GROUP BY Words
答案 1 :(得分:1)
您需要的是GROUP BY子句
SELECT Words, SUM(frequency) AS TotalFrequency
FROM the_table
GROUP BY Words
ORDER BY Words;
GROUP BY子句必须列出选择列表中使用的所有列,不应用聚合函数(如MIN,MAX,AVG或SUM)。
未定义为表达式生成的列名。例如,在Access中,它取决于Access的语言版本。名称可能是SumOfFrequency
英文,但SummeVonFrequency
是德文。在一台PC上运行的应用程序可能在另一台PC上运行失败因此,我建议使用expr AS column_name
明确定义列名。