修改sql查询默认排序问题
2012-07-18 17:16
197 查看
SQL里好象默认都将SELECT出来的记录都做了排序的,现在有以下的语句:
SELECT * FROM tableName WHERE Class = '0' and Id in (252, 679, 321, 100, 270),我想在SELECT完以后,输出的结果是未排过序(那些id是怎么进来的就怎么排序):
252
679
321
100
270
我应该如何实现这样的效果呢?
方法一
SELECT * FROM tableName WHERE Class = '0' and Id in (252,
679, 321, 100, 270)order by charindex(','+ltrim(ClassID)+',', ',"
252, 679, 321, 100, 270 ",')";
方法二
Select * FROM
tableName Where ( Class = '0' and Id in ('252, 679, 321, 100, 270'))
orDER BY PATINDEX('%,' + CONVERT(nvarchar(4000), ClassID) + ',%', ','+'252, 679, 321, 100, 270'+',')";
SELECT * FROM tableName WHERE Class = '0' and Id in (252, 679, 321, 100, 270),我想在SELECT完以后,输出的结果是未排过序(那些id是怎么进来的就怎么排序):
252
679
321
100
270
我应该如何实现这样的效果呢?
方法一
SELECT * FROM tableName WHERE Class = '0' and Id in (252,
679, 321, 100, 270)order by charindex(','+ltrim(ClassID)+',', ',"
252, 679, 321, 100, 270 ",')";
方法二
Select * FROM
tableName Where ( Class = '0' and Id in ('252, 679, 321, 100, 270'))
orDER BY PATINDEX('%,' + CONVERT(nvarchar(4000), ClassID) + ',%', ','+'252, 679, 321, 100, 270'+',')";
相关文章推荐
- sql排序规则问题,不能查询访问中文
- Sql常见问题总结二(Sql语句怎么样查询IP,游标去重复,各种函数使用,各种取时间格式,字符串精确排序,超时锁问题)
- Sql常见问题总结二(Sql语句怎么样查询IP,游标去重复,各种函数使用,各种取时间格式,字符串精确排序,超时锁问题)
- SQL order by ID desc/asc加一个排序的字段解决查询慢问题
- 完美解决NC502手工sql的查询引擎排序及合计问题
- mysql sql_mode 修改 排序分组查询
- SQL 修改排序规则的问题 sql_latin1_general_cp1_ci_as
- [SQL] SQLServer修改DB的collation, 解决排序字规则字符集问题
- Linq排序、分组、模糊查询、调用外部方法、直接执行SQL语句、事务、修改数据
- SQL 2000 UNION ALL 子查询增加排序列报错问题
- Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" and "SQL_L及由于排序规则不同导致查询结果为空的问题
- 不修改SQL_Latin1_General_CP1_CI_AS 字符集 解决中文条件查询问题
- 关于SQL查询的字符串类型字段的排序问题
- SqlServer中的UNION操作符在合并数据时去重的原理以及UNION运算符查询结果默认排序的问题
- 重置mysql Root用户密码及修改默认字符集一般就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。 解决
- SQL模糊查询排序问题
- Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" and "SQL_L及由于排序规则不同导致查询结果为空的问题
- SQL SERVER 2005 由于默认排序规则造成多数据库查询报错的问题
- SQL之美 - 分页查询的排序问题