用select where in语句查询结果不按条件排序 我用了select * from chufang where picid in(23,34,43,32,12,45)查询,但是结果不能按照23,34,43,32,12,45的次序排序,不知道是什么原因,应该怎么写语句,请教各位!谢谢 ------解决方案-------------------- 你要价格order by才行啊。where的只是筛选而已 ------解决方案--------------------
WITH chufang
AS ( SELECT 23 picid
UNION
SELECT 34
UNION
SELECT 43
UNION
SELECT 32
UNION
SELECT 12
UNION
SELECT 45
)
SELECT *
FROM chufang
WHERE picid IN ( 23, 34, 43, 32, 12, 45 )
ORDER BY CASE picid
WHEN 23 THEN 1
WHEN 34 THEN 2
WHEN 43 THEN 3
WHEN 32 THEN 4
WHEN 12 THEN 5
WHEN 45 THEN 6
END