mysql中的特定排序

时间:2011-08-12 17:38:09

标签: mysql

我有一个带回id的sql语句。目前我用通常的“ORDER BY id”命令id。我需要做的是让查询按照我设置的特定id排序​​前3行。当前剩余的订单。例如,我想说前三行将按顺序为id的7,10,3,然后其他行将按照惯例的顺序排序。

现在我只有一个基本的sql语句......

SELECT * from cards ORDER BY card_id

2 个答案:

答案 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,你必须颠倒顺序,我没有找到更自然的方法。