У меня есть эта таблицаMySQL: Группа по aggregate_function и с условием
id | idDevice | type | color
-----------------------------
1 | 1 | a | red
2 | 1 | b | green
3 | 1 | c | red
4 | 2 | a | blue
5 | 2 | b | red
Каждый idDevice
имеет по крайней мере один type
с красным color
.
Я хотел бы получить для каждого idDevice
один type
, который имеет color
красный (это еще не уникальные) с GROUP BY заявление, как это:
SELECT idDevice,
CASE WHEN color = red THEN type END as redType
FROM table
GROUP BY idDevice
К сожалению, выше не работает, потому что иногда возвращает NULL redType, хотя существует тип с красным цветом. Можно ли получить правильный redType с помощью оператора GROUP BY?
Я ищу это:
idDevice | redType
-----------------------------
1 | a
2 | b
или этот результат:
idDevice | redType
-----------------------------
1 | c
2 | b
Я не понимаю «или» в этом контексте – Strawberry