2014-03-07 36 views
0

我有一个表下方mysql的组通过忽略空

 
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 

我都试过,但其分组NULL列也是,我希望所有的行都是NULL,并按album_id分组,它们不为空。

我跟了这link - 但不要对我

感谢

+0

您的查询是什么? –

回答

2

您可以使用此:

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为null,则还按id确保所有行回来,在那里album_id为空。

+0

谢谢你的帮助 – user3279320

-2
select * from YourTableName 
group by album_id asc 

工作试试这个..

+0

首先,什么是OP的查询并不明显。其次,'null'不是一个字符串值。这是DBMS的特殊价值。而'''不是一个好办法来处理它 –

+0

sry我编辑了查询请检查... – SriSaiKiran

-1

试试这个

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