mysql分组方式忽略null
我有一张桌子在下面 id album_id album_name ---- --------- ----------- 1 5 test1 2 5 test1 3 6 test3 4 6 test3 5 NULL test4 6 NULL test4 我想使用group by album_id编写一个查询,它将给出以下结果 id album_id album_name ---- --------- ----------- 1 5 test1 3 6 test3 5 NULL test4 6 NULL test4 我已经尝试过了,但是它的grouping NULL列也是,我希望所有的行都是NULL,并且groupby album_id都不是NULL 我遵循了这一点,但不要为我工作 谢谢 试试这个..试试这个mysql分组方式忽略null,mysql,group-by,Mysql,Group By,我有一张桌子在下面 id album_id album_name ---- --------- ----------- 1 5 test1 2 5 test1 3 6 test3 4 6 test3 5 NULL test4 6 NULL test4 我想使用group by album_
SELECT * FROM <tablename>
GROUP BY album_id,id;
你可以用这个:
SELECT MIN(id) AS id,
album_id,
album_name
FROM T
GROUP BY COALESCE(album_id, id), album_name
ORDER BY album_name;
因此,当album_id为NULL时,您还可以按id分组,确保返回album_id为NULL的所有行。首先,OP的查询是什么并不明显。其次,null不是字符串值。它是DBMS中的一个特殊值。这不是个好办法
SELECT MIN(id) AS id,
album_id,
album_name
FROM T
GROUP BY COALESCE(album_id, id), album_name
ORDER BY album_name;