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
我需要计算每个 "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