SQL 对唯一值进行计数和分组

SQL counting and grouping unique values

我需要计算每个 "score" 的出现次数,并根据下面的假数据集按 "make" 对它们进行分组:

make   | model  | score
Honda    Accord    9
Honda    CRV       9
Honda    Prelude   8
Toyota   Camry     8
Toyota   Tundra    8
Ford     F150      7
Ford     Tempo     7
Ford     Focus     8

这就是我需要的 - 每个品牌和分数组合 1 行:

make   | score | count
Honda      9       2
Honda      8       1
Toyota     8       2
Ford       7       2
Ford       8       1

我不关心订单 ATM。我尝试了几个使用 distincts 的版本,但似乎无法获得所需的输出。

跟进:我想将行添加到输出中,其中 Make 对于任何可能的得分值(在本例中为 {7, 8, 9})的计数为 0 (none) .

输出将变为:

make   | score | count
Honda      9       2
Honda      8       1
Honda      7       0
Toyota     9       0
Toyota     8       2
Toyota     7       0
Ford       9       0
Ford       8       1
Ford       7       2
SELECT make, score, count(1)
FROM {your_table}
GROUP BY make,score