I have a query with join and group-by that returns something like this:

```
CONSTRUCTOR | MODEL | COLOR
------------+-------+------
Mercedes    | SLK   | Gray
Ferrari     | 430   | Red
Mercedes    | GLK   | Black
Porsche     | 911   | Blue
Ferrari     | 458   | Red

```

I'd like to add a group by `CONSTRUCTOR` and get the value of the color if it's the same in each group or "multiple" if there are multiple values (not interested in `MODEL`)

```
CONSTRUCTOR | COLOR
------------+---------
Mercedes    | multiple
Ferrari     | Red
Porsche     | Blue

```

This query works, but I wonder if there is a more efficent way to achieve the same result without complicating the query itself

```
SELECT
  CONSTRUCTOR,
  CASE COUNT(DISTINCT COLOR)
    WHEN 1 THEN MIN(COLOR)
    ELSE 'multiple'
  END AS COLOR
FROM MYTABLE
GROUP BY CONSTRUCTOR

```

I think that I cannot avoid the `MIN` (or `MAX`) as per this [closely related question](https://stackoverflow.com/questions/26715582/ "Grouping rows and combining data").

Can I avoid the `CASE` or use it in a more efficent way?