如果我想按升序显示名称列表,除了一些默认值,我如何使用 SQL order by 子句实现此目的。
例如结果:
place
-------
United States
United Kingdom
Bahrain
Australia
Fiji
Indonesia
Japan
Korea
....
在美国、英国和巴林是一些默认值的地方,我们希望在数据库中的常规升序列表之前出现 - 所有这些(包括默认值都是从数据库中获取的,而不是硬编码的)。默认值应该按照上面定义的顺序(不是 asc 或 desc)
谢谢
最佳答案
试试这个。我在查询中使用条件 ORDER BY
使用 CASE
语句:
SELECT
place
FROM #yourtable
ORDER BY
(CASE WHEN place='United States' THEN '1'
WHEN place='United Kingdom' THEN '2'
WHEN place='Bahrain' THEN '3'
ELSE place
END)
关于mysql - SQL order by 上面显示默认选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28555718/