我有一个联赛列表,按表中的字母顺序排列,即
等等
我希望他们订购
我试过了
SELECT League
FROM Leagues
ORDER BY 'England - Premier League', 'England - Championship', `ID`
和
SELECT League
FROM Leagues
ORDER BY 'England - Premier League', 'England - Championship', `ID`
没有任何运气,它们或者按字母顺序排列,我不想要,或者指定的2位于列表的底部。
我如何订购,指定2,其余按ID顺序?我也尝试过FIELD的订单,但仍然没有运气。
答案 0 :(得分:0)
您可以使用field()
功能:
order by field(league, 'England - Premier League', 'England - Championship',
'Belgium - Pro League', 'Greece - Super League')
编辑:
如果您只想要两个英文版本:
order by (substring(league, ' ', 1) = 'England) desc,
league
答案 1 :(得分:0)
您可以尝试此ANSI-SQL版本:
SELECT League
FROM Leagues
ORDER BY
CASE WHEN League LIKE 'England - %' THEN 1
ELSE 999
END,
ID
CASE将处理为英格兰联赛分配优先权,其余将按ID分类。
希望这能解决它。