考虑下表Persons
:
Key Name Type Date Pack
1 Pocoyo KIND 30-11-2011 1
2 Erik MAN 10-10-1980 1
3 Alinda VROUW 12-12-1991 1
4 Pingu KIND 11-12-2012 1
5 Elisia KIND 11-11-2010 1
6 Kees MAN 10-11-1984 2
现在我想对这张表进行排序Pack
, Type
and Date
,但我想要Type
排序为MAN
, VROUW
, KIND
,所以基本上期望的结果应该是这样的:
Key Name Type Date Pack
2 Erik MAN 10-10-1980 1
3 Alinda VROUW 12-12-1991 1
5 Elisia KIND 11-11-2010 1
1 Pocoyo KIND 30-11-2011 1
4 Pingu KIND 11-12-2012 1
6 Kees MAN 10-11-1984 2
我怎样才能创建这个查询?
Try out
SELECT *
FROM Persons
ORDER BY
Pack,
CASE Type
WHEN 'MAN' THEN 1
WHEN 'VROUW' THEN 2
WHEN 'KIND' THEN 3
END,
Date ASC
MSDN: 案例 (Transact-SQL) http://msdn.microsoft.com/en-us/library/ms181765.aspx
CASE 可以用在任何允许有效的语句或子句中
表达。例如,您可以在诸如以下的语句中使用 CASE
SELECT、UPDATE、DELETE 和 SET,以及在 select_list 等子句中,
在哪儿,ORDER BY,和拥有。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)