SQL 子查询, 如何按照IN的顺序查询

就是 select * where stuId in (111,333,222,444,888,555), 让查询的结果,先是stuId 为111的, 然后是333 的, 就是 括号里什么顺序, 出来就是什么顺序

( SELECT * FROM `medal_list` WHERE `stuId` IN ( SELECT stuId as Id FROM `medal_list` GROUP BY stuId ORDER BY count(*) desc ) )我的原话是这样的, 但是查出来的结果是根据 Id排序的,我想按子查询里面的Id顺序排序

第1个回答  2017-04-28
select * where stuId in (111,333,222,444,888,555)
ORDER BY PATINDEX('% ' + CONVERT(nvarchar(4000), stuId) + ' %', ' ' + CONVERT(nvarchar(4000), Replace('(111,333,222,444,888,555', ',',' , ')) + ' ')本回答被提问者和网友采纳
第2个回答  2017-04-28
用union all 加个辅助字段datetime
相似回答