选择多个不同的列MySQL

5

我有一个包含超过3万行和多列的表格。

例如:

id | year | make | model | color

1  | 2001 | gm     | truck  | red
2  | 2004 | gm     | truck  | green
3  | 2001 | nissan | Max    | yellow
4  | 2001 | gm     | truck  | blue
5  | 2002 | gm     | truck  | green
6  | 2001 | nissan | Sentra | green

由于每个车型和年份都有许多颜色,我需要找出每辆车的颜色数量。

期望结果:

2001 Nissan Max 5 colors
2001 GM Truck 10 colors

不需要知道颜色,只需要知道有多少种颜色。

我尝试了以下方法:

SELECT COUNT(DISTINCT make||model||year) AS number FROM colors LIMIT 10

任何帮助都将不胜感激。

可能是MySQL SELECT DISTINCT multiple columns的重复问题。 - Hein Andre Grønnestad
1个回答

5

你差不多就成功了:

SELECT make,
       model,
       year,
       COUNT(DISTINCT color) AS number 
FROM colors
GROUP BY make, model, year
LIMIT 10;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接