1

在我的users桌子上有一个名为featured. 如果它的值为 1,则该用户被推荐,如果为 0,则不推荐。

在我的主页上,我想显示我网站上的所有用户。但我希望特色的在非特色之前显示。

声明 1:

SELECT *
FROM `users`
JOIN `profiles` ON users.user_id = profiles.user_id
JOIN `geo` ON users.zip = geo.zip_code
JOIN `user_activity` ON users.user_id = user_activity.user_id
WHERE users.featured = '1'
ORDER BY users.user_id DESC
LIMIT ". ($page_num - 1) * $per_page .", ". $per_page;

声明 2:

SELECT *
FROM `users`
JOIN `profiles` ON users.user_id = profiles.user_id
JOIN `geo` ON users.zip = geo.zip_code
JOIN `user_activity` ON users.user_id = user_activity.user_id
WHERE users.featured != '1'
ORDER BY users.user_id DESC
LIMIT ". ($page_num - 1) * $per_page .", ". $per_page;

除了 where 子句之外,这两个语句都是相同的。如何将这两个合并在一起,以便首先显示特色用户,然后显示非特色用户。

编辑

我应该提到,我希望结果集作为一个集合返回。

4

1 回答 1

3
SELECT *
FROM `users` u
JOIN `profiles` p ON u.user_id = p.user_id
JOIN `geo` g ON u.zip = g.zip_code
JOIN `user_activity` ua ON u.user_id = ua.user_id
ORDER BY u.featured DESC,
    u.user_id DESC
LIMIT ". ($page_num - 1) * $per_page .", ". $per_page;
于 2012-05-13T00:54:32.993 回答