SELECT userid, name
FROM users
WHERE nationality="US"
ORDER BY name
假设我希望首先显示userid=101
和nationality="US
“的用户,无论如何都要显示,并且使用一个查询进行此操作非常重要。
答案 0 :(得分:5)
尝试FIELD
SELECT userid, name FROM users WHERE nationality="US" ORDER BY FIELD(user_id,101) DESC, name asc
答案 1 :(得分:0)
试试这个:
SELECT * FROM (
SELECT userid, name, IF(user = 101, 1 , 2) AS rank
FROM users WHERE nationality = "US"
) AS subselect ORDER BY subselect.rank ASC, subselect.name ASC
答案 2 :(得分:0)
或者你可以这样做:
SELECT userid, name, (userid=101) AS test FROM users WHERE nationality="US" ORDER BY test DESC, name ASC