我有一個sql語句,帶回ID。目前,我正在使用通常的「ORDER BY ID」訂購ID。我需要能夠做的是讓查詢按照我設置的特定ID排序前3行。剩下的訂單就像現在一樣。例如,我想說前3行將按照順序依次爲id 7,10,3,然後其餘行將按照慣例排序。在mysql中的具體排序
現在我只是有一個基本的SQL語句...比Quassnoi的查詢短
SELECT * from cards ORDER BY card_id
我有一個sql語句,帶回ID。目前,我正在使用通常的「ORDER BY ID」訂購ID。我需要能夠做的是讓查詢按照我設置的特定ID排序前3行。剩下的訂單就像現在一樣。例如,我想說前3行將按照順序依次爲id 7,10,3,然後其餘行將按照慣例排序。在mysql中的具體排序
現在我只是有一個基本的SQL語句...比Quassnoi的查詢短
SELECT * from cards ORDER BY card_id
了一下,與現場:
-- ...
ORDER BY FIELD(card_id, 3, 10, 7) DESC
你必須反轉,因爲訂單的DESC,我沒有找到辦法更自然地做到這一點。
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
太好了,謝謝。這有很大幫助。 – Brian
+1,一個不錯的。 – Quassnoi