sql 中的排序列
Ordering columns in sql
我在数据库中有数据
德国
印度
美国
中国
日本
非洲
我想要一个 sql 查询结果:
印度(第一行是印度)
非洲(所有其他按字母顺序排列)
日本
美国
中国(最后一行是中国)
您可以使用多个级别的排序:
order by col = 'India' desc, col = 'China', col
基本原理:在MySQL中,表达式col = <val>
returns 1
如果满足条件,否则0
。所以 col = 'India' desc
将印度放在第一位,而 col = 'China'
将中国放在最后。然后按国家/地区名称的常规排序打破关系。
在MySQL中,您可以:
order by (col = 'India') desc,
(col = 'China') asc,
col asc
或使用 case
表达式:
order by (case when col = 'India' then 1
when col = 'China' then 3
else 2
end)
col
我在数据库中有数据
德国
印度
美国
中国
日本
非洲
我想要一个 sql 查询结果:
印度(第一行是印度)
非洲(所有其他按字母顺序排列)
日本
美国
中国(最后一行是中国)
您可以使用多个级别的排序:
order by col = 'India' desc, col = 'China', col
基本原理:在MySQL中,表达式col = <val>
returns 1
如果满足条件,否则0
。所以 col = 'India' desc
将印度放在第一位,而 col = 'China'
将中国放在最后。然后按国家/地区名称的常规排序打破关系。
在MySQL中,您可以:
order by (col = 'India') desc,
(col = 'China') asc,
col asc
或使用 case
表达式:
order by (case when col = 'India' then 1
when col = 'China' then 3
else 2
end)
col