我有一个带回id的sql语句。目前我用通常的“ORDER BY id”命令id。我需要做的是让查询按照我设置的特定id排序前3行。当前剩余的订单。例如,我想说前三行将按顺序为id的7,10,3,然后其他行将按照惯例的顺序排序。
现在我只有一个基本的sql语句......
SELECT * from cards ORDER BY card_id
答案 0 :(得分:4)
SELECT *
FROM cards
ORDER BY
CASE card_id WHEN 7 THEN 1 WHEN 10 THEN 2 WHEN 3 THEN 3 ELSE 4 END,
card_id
答案 1 :(得分:3)
比Quassnoi的查询短一点,使用FIELD:
-- ...
ORDER BY FIELD(card_id, 3, 10, 7) DESC
由于DESC,你必须颠倒顺序,我没有找到更自然的方法。