2009-10-14 79 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