2009-10-14 46 views
2

我想做一個ORDER BY,我想要在連接表中沒有條目的任何行出現在列表的底部,然後按名稱組織。簡表是:MySQL訂購NULL加入

用戶(ID,姓名) 照片(ID,文件名,USER_ID)

到目前爲止,我有:

SELECT name FROM users 
LEFT OUTER JOIN photos ON photos.user_id = users.id 
ORDER BY *ANSWER HERE*, name DESC 

非常感謝。

回答

10

您可以使用此:

ORDER BY ISNULL(photos.id), name DESC 

ISNULL()函數將返回1或0,這將方便排序以正確的順序爲您服務。

0
SELECT name FROM users 
LEFT OUTER JOIN photos ON photos.user_id = users.id 
ORDER BY photos.user_id DESC, name DESC 

ORDER BY photos.user_id DESC將在最後顯示NULL值。

+0

是我的答案完全偏離軌道? O_O – manji 2009-10-14 22:53:19