2014-03-07 57 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;