鑑於從SQL查詢的結果如下:排序的SQL查詢結果取決於數據值不同的方式
1,
4,
Red,
Blue,
3,
Green,
2,
Yellow,
Magneta,
Rubi
我想實現正確的順序是:
紅,藍,綠,的Magneta,魯維,黃色,1,2,3,4
- 紅色,藍色和綠色必須始終在頂部和以該順序
- 然後,α項應遵循順序遞增(M,R,Y)
- 遵循由以升序數字項(1,2,3,...)
我已經玩以下無效,所以如果有人能指出我的方向正確
SELECT myCol FROM myTable
ORDER BY
CASE WHEN myCol='Red' then 1
WHEN myCol='Blue' then 2
WHEN myCol='Green' then 3 END,
CASE
WHEN myCol not in ('Red','Blue','Green') and IsNumeric(party_id) = 0 then myCol END ASC,
CASE
WHEN myCol not in ('Red','Blue','Green') and IsNumeric(party_id) = 1 then CAST(myCol AS INT) END ASC
謝謝!
編輯1: 我當前的訂單真的返回:
1,2,3,4, Magneta, Rubi, Yellow, Red, Blue, Green
您正在使用哪個數據庫管理系統? (某些產品特定的SQL在那裏...) – jarlh
對不起,我忘了:MicrosoftSQL Server 2014 – MCS