我的数据库中有以下列:
abc
1
2
null
100
6
Run Code Online (Sandbox Code Playgroud)
我想按照以下顺序对这些值进行排序和显示:
1
2
6
100
abc
null
Run Code Online (Sandbox Code Playgroud)
任何人请帮我解决它。考虑以下查询:
select * from test_table where status=1 order by test_column DESC
Run Code Online (Sandbox Code Playgroud)
或者
select * from test_table where status=1 order by if((test_column = '' OR test_column IS NULL),'999999',test_column) DESC
Run Code Online (Sandbox Code Playgroud)
select
*
from
t
order by
case
when col regexp '^[0-9]' then 1
when col regexp '^[a-zA-Z]' then 2
when col = '' or col is null then 3
end
, col * 1 /*this converts to number, so that 100 is not sorted before 2*/
, col /*finally sort strings correctly*/
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5183 次 |
最近记录: |