您的位置:首页 > 数据库

sql 按字段指定值排序

2015-05-19 23:10 302 查看
比如数据库表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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: