0
我需要排序是這樣的:
初步結果都是誰與CHA上啓動,然後MAS,DIA,PLA,GOL,SIL,BROSQL的ORDER使用LIKE BY CASE
像這樣:
1。 CHALLENGER我
2. CHALLENGER我
3. MASTER II
4. MASTER III
5. PLATINUM II
6. PLATINUM IV
7. PLATINUM V
等。
最重要的是隻按名稱排序,而不是在最後羅馬數字,但如果這很容易,如果有人會顯示出一種方式會很感激。
截至目前,這是我的SQL:
SELECT rank FROM table
ORDER BY
CASE rank
WHEN rank LIKE 'CHA%' THEN 1
WHEN rank LIKE 'MAS%' THEN 2
WHEN rank LIKE 'DIA%' THEN 3
WHEN rank LIKE 'PLA%' THEN 4
WHEN rank LIKE 'GOL%' THEN 5
WHEN rank LIKE 'SIL%' THEN 6
WHEN rank LIKE 'BRO%' THEN 7
WHEN rank LIKE 'Unranked' THEN 8
WHEN rank LIKE 'No Data' THEN 9
ELSE 10
END;
然而,這是行不通的。我正在使用MySQL數據庫。任何幫助讚賞。
酷!所以在mysql中,'case'之後不需要任何東西? –
有兩種方法可以使用CASE語句。一種方法是CASE WHEN <列內的值> ....或者您可以按照我在答案中所做的方式使用它。但是,當你使用LIKE時,你必須按照我在答案 –
中的方式使用它,非常感謝它! – Marcipanas