我如何计算特定表中每个不同值的值?我有一个表,列中包含不同的值,但有不同数量的不同值。我想创建一个表,其中一列只列出值,另一列列出每个值的数量。 假设我有一个字母'Letter',其值为A A A A B B C C 我只想制作一个包含'Letter'和'Number'列的表,其中A B C vs 4 2 2
答案 0 :(得分:4)
SELECT count(letter) occurences,
letter
FROM table
GROUP BY letter
ORDER BY letter ASC
基本上你正在寻找COUNT()函数。请注意,它是一个聚合函数,您必须在SELECT语句的末尾使用GROUP BY
如果你的信件在两列(比如col1和col2)上,你应该首先将它们合并在一个列中并在之后进行计数,如下所示:
SELECT count(letter) occurences,
letter
FROM (SELECT col1 letter
FROM table
UNION
SELECT col2 letter
FROM table)
GROUP BY letter
ORDER BY letter;
内部SELECT查询将col2的内容追加到col1,并将结果列重命名为“letter”。外部选择,计算此结果列中每个字母的出现次数。