mysql group by忽略null

1 mysql group-by

我下面有一张桌子

id专辑ID专辑名称
---- --------- -----------
1 5测试1
2 5测试1
3 6测试3
4 6测试3
5 NULL测试4
6 NULL测试4

我想使用group by album_id编写查询,它将给出以下结果

id专辑ID专辑名称
---- --------- -----------
1 5测试1
3 6测试3
5 NULL测试4
6 NULL测试4

我试过了,但是它的分组NULL列也要,我希望所有的行都是NULL,并且按不为null的album_id分组。

我已点击此链接 -但对我不起作用

谢谢

Gar*_*thD 5

您可以使用此:

SELECT MIN(id) AS id,
       album_id,
       album_name
FROM T
GROUP BY COALESCE(album_id, id), album_name
ORDER BY album_name;
Run Code Online (Sandbox Code Playgroud)

SQL小提琴示例

因此,当album_idIS为NULL时,还要id确保返回所有行(其中album_idnull为null),从而进行分组。