的aggregate_function我有這個表MySQL的:GROUP BY和與條件
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
有紅色color
至少一個type
。
我想獲得每個idDevice
一個type
有color
紅色與GROUP(那不是唯一的)BY語句是這樣的:
SELECT idDevice,
CASE WHEN color = red THEN type END as redType
FROM table
GROUP BY idDevice
不幸的是,上述方法無效,因爲它有時會返回一個即使存在紅色的類型,也是NULL redType。是否有可能通過GROUP BY語句獲得正確的redType?
我要尋找這樣的:
idDevice | redType
-----------------------------
1 | a
2 | b
或這個結果:
idDevice | redType
-----------------------------
1 | c
2 | b
爲什麼使用MAX()函數 – Strawberry