SQL 子查询, 如何按照IN的顺序查询
就是select*wherestuIdin(111,333,222,444,888,555),让查询的结果,先是stuId为111的,然后是333的,就是括号里什么顺序,...
就是 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顺序排序 展开
( SELECT * FROM `medal_list` WHERE `stuId` IN ( SELECT stuId as Id FROM `medal_list` GROUP BY stuId ORDER BY count(*) desc ) )我的原话是这样的, 但是查出来的结果是根据 Id排序的,我想按子查询里面的Id顺序排序 展开
2个回答
展开全部
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', ',',' , ')) + ' ')
ORDER BY PATINDEX('% ' + CONVERT(nvarchar(4000), stuId) + ' %', ' ' + CONVERT(nvarchar(4000), Replace('(111,333,222,444,888,555', ',',' , ')) + ' ')
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询