比如数据库表table1中有为A1的字段名,A1中的值只有如下几种情况:a1,a2,a3,现需按a2,a3,a1的顺序排序
在MSSQL支持CASE,使用以下语句实现
SELECT 表1.id, 表1.n
FROM 表1
ORDER BY CASE n WHEN 'a2' THEN 1 WHEN 'a1' THEN 2 WHEN 'a3' THEN 3 END;
在Access中使用IIF来实现,如下:
SELECT 表1.id, 表1.n
FROM 表1
ORDER BY IIF(n='a2',1,IIF(n='a3',2,3));
在Incident List中显示的时候先显示状态依次为:'PROCESSING' 、'QUEUED' 、'TASKED'
SELECT TOP 10000 * FROM V_INCIDENTQUEUE where [STATUS]!='Incomplete'
order by case [STATUS] when 'PROCESSING' then 1 when 'QUEUED' then 2
when 'TASKED' then 3 else 4 END, INCNO ASC
相关文章
- 06-11SQL排序 空值的后面
- 06-11SQL分页存储过程(不支持多表联合查询,不支持多字段排序)
- 06-11SQL 单表分页存储过程和单表多字段排序和任意字段分页存储过程
- 06-11[小问题笔记(八)] 常用SQL(读字段名,改字段名,打印影响行数,添加默认值,查找存储过程等)
- 06-11sql取逗号前后数据与批量修改某一字段某一值
- 06-11Solr 按照得分score跟指定字段相乘排序
- 06-11Python – 按dict的dict值的值对dics列表进行排序
- 06-11sql 批量更新表中多字段为不同的值
- 06-11SQL-将表值字段0/1互换的几种方式
- 06-11如何通过SQL按内容拆分字段(将一个字段值拆分两个字段)