mysql group by ignore null

时间:2014-03-07 13:08:31

标签: 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

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

id     album_id   album_name
----   ---------  -----------
1          5         test1
3          6         test3
5          NULL      test4
6          NULL      test4

我已经尝试了但它的分组NULL列也是,我希望所有的行都是NULL并且group_id分组不是null。

我已遵循此link - 但不适合我

由于

3 个答案:

答案 0 :(得分:5)

你可以用这个:

SELECT MIN(id) AS id,
       album_id,
       album_name
FROM T
GROUP BY COALESCE(album_id, id), album_name
ORDER BY album_name;

<强> Example on SQL Fiddle

因此,当album_id为空时,您还可以按id分组,确保在album_id为空的情况下返回所有行。

答案 1 :(得分:-1)

试试这个

 SELECT * FROM <tablename>
 GROUP BY album_id,id;

答案 2 :(得分:-2)

select * from YourTableName
group by album_id asc

试试这个..