mysql - SQL order by 上面显示默认选项

标签 mysql sql

如果我想按升序显示名称列表,除了一些默认值,我如何使用 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/

相关文章:

php - 搜索完全匹配的参数mysql

sql - 查询“从日期<=某日期的表中选择最大值(日期)”不起作用

MySQL 内连接Where 列=(可能的值列表)

用于存储在字符串中的小数的 MySQL Round() 函数

PHP 内爆不适用于单引号?

mysql - SQL查询: Queries depending on previous queries and merging results

mysql - 使主键 id 始终与行号同步

sql - 使用 SQL Server 获取层次结构

c# - 代码隐藏中的 GridView RowUpdating SqlDataSource.Update

sql - 首先插入,然后 - 如果可以 - 删除