读书人

select * from t1 where pid in(.)排序

发布时间: 2012-03-13 11:21:12 作者: rapoo

select * from t1 where pid in(...)排序问题
我的表 t1 为:

ID(主键) pid
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8

我的语句: select * from t1 where pid in(7,6,2,5);

返回的值为:

2 2
5 5
6 6
7 7

请问如果我想按照 in(7,6,2,5)的顺序返回值,该如何写呢?

预期效果:

7 7
6 6
2 2
5 5

[解决办法]
select * from t1 where pid in(7,6,2,5)
order by charindex( ', '+rtrim(pid)+ ', ', ',7,6,2,5, ')

读书人网 >SQL Server

热点推荐