关于Select Where In 的排序问题

花下醉酒舞月光

花下醉酒舞月光

2016-02-19 10:52

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是关于Select Where In 的排序问题,一起来学习了解下吧!

代码如下:

Select *    
FROM table1    
Where (ID IN (3,5,1,4,2))   

代码如下:

Select * 
FROM table1 
Where (ID IN (3,5,1,4,2))如果In后面的条件都是数字,那MSSQL排序应该为 


代码如下:

Select *    
FROM table1    
Where (ID IN (3,5,1,4,2))    
orDER BY CHARINDEX(',' + CONVERT(nvarchar, ID) + ',', ',' + CONVERT(nvarchar, Replace('3,5,1,4,2', ' ','')) + ',')   

代码如下:

Select * 
FROM table1 
Where (ID IN (3,5,1,4,2)) 
orDER BY CHARINDEX(',' + CONVERT(nvarchar, ID) + ',', ',' + CONVERT(nvarchar, Replace('3,5,1,4,2', ' ','')) + ',')改进方法,不去处理空格,直接改用空格判断.可以用来判断少数有空格的字符条件. 

代码如下:

Select *    
FROM table1    
Where (ID IN (3,5,1,4,2))    
orDER BY PATINDEX('% ' + CONVERT(nvarchar(4000), ID) + ' %', ' ' + CONVERT(nvarchar(4000), Replace('3,5,1,4,2', ',',' , ')) + ' ')   

代码如下:

Select * 
FROM table1 
Where (ID IN (3,5,1,4,2)) 
orDER BY PATINDEX('% ' + CONVERT(nvarchar(4000), ID) + ' %', ' ' + CONVERT(nvarchar(4000), Replace('3,5,1,4,2', ',',' , ')) + ' ')

其实还是在SQL外处理好条件字符串再进行查询和排序比较好.
对于MYSQL排序可能要改为(MYSQL不熟): 

代码如下:

Select *    
FROM table1    
Where (ID IN (3,5,1,4,2))    
orDER BY FIND_IN_SET(ID, '3,5,1,4,2') 
展开更多 38%)
分享
qqQQ
qzoneQQ空间
weibo微博

猜你喜欢

关于Select Where In 的排序问题

编程语言 网络编程
关于Select Where In 的排序问题

oracle数据库中关于null排序的问题

编程语言 网络编程
oracle数据库中关于null排序的问题

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

排序Select中Option项的一个示例

Delphi
排序Select中Option项的一个示例

select选择事件问题

Web开发
select选择事件问题

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

讨论: SELECT TOP N 问题

SQLServer
讨论: SELECT TOP N 问题

讨论: SELECT TOP N问题 (2)

SQLServer
讨论: SELECT TOP N问题 (2)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

showModalDialog 和 showModelessDialog

showModalDialog 和 showModelessDialog

mysql同步复制搭建方法指南详细步骤

mysql同步复制搭建方法指南详细步骤
下拉加载更多内容 ↓