我有這個疑問:基於匹配條件排序SQL記錄
SELECT * FROM table WHERE key LIKE '1,2,3,%' OR key LIKE '1,2,%' OR key LIKE '1,%'
它是更多鈔票來排序記錄從該查詢基於其條件是第一個匹配返回。我希望先獲得與key LIKE '1,2,3,%'
匹配的所有記錄,然後再獲得與key LIKE '1,2,%'
之後的所有記錄。
舉例來說,如果我有這些記錄:
key: "1,2,3,4"
key: "1,2,5"
key: "1,4"
key: "1,2,5,6"
key: "1,3"
key: "1,2,3,4,7"
key: "1,2,4"
我想他們進行排序,像這樣:
key: "1,2,3,4"
key: "1,2,3,4,7"
key: "1,2,4"
key: "1,2,5"
key: "1,2,5,6"
key: "1,3"
key: "1,4"
是否有可能呢?
那麼,你有什麼嘗試?注意這只是普通的詞法字符串排序... – 2010-09-16 19:37:09
您的查詢是多餘的。只使用「WHERE KEY LIKE'1,%'」會給你相同的結果。 – 2010-09-16 19:37:53
@凱文,是的,你是絕對正確的。由於我現在在「ORDER BY CASE」中使用了更具體的條件,因此我現在將WHERE條件更改爲「1,%」。 – remi 2010-09-18 12:48:25