sql 按字段指定值排序

比如数据库表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

技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。