select * from tb where id in(95,15,14,21,6)
这样查询以后,查询结果中,默认就以id为关键字顺序排列了:
如何保持在结果中,95,15,14,21,6,这个顺序不变?
谢谢。
这样查询以后,查询结果中,默认就以id为关键字顺序排列了:
如何保持在结果中,95,15,14,21,6,这个顺序不变?
谢谢。
解决方案 »
- 为什么在查询分析器中设置数据库表字段的默认值时提示出错?
- 求一文本计算平均SQL
- delete如何执行insert与update操作?
- 关于sql2005/express版本。建立数据库,并且添加表的操作!
- 一个关于union的用法
- 待解决的问题
- 将SQL的DTS单独打包时候遇到错误
- [新手问题]立刻结贴,请问SQL数据库支持movenext或movefirst吗?
- 关于用data,log恢复数据继续提问,问题解决,分数不是问题~~ 在线等,急~~~~~~~~
- PB与SQL SERVER数据的导入问题
- 3核CPU安装SQL SERVER 2005 Developer Edition 出错问题的再次提问,已付错误原因,懂的说下,谢谢
- [求教:一次性更新50W条数据]
order by charindex(','+ltrim(Id)+',',',95,15,14,21,6,')
UPDATE [WebSiteCluster].[dbo].[WebSite_System_Component]
SET SortID=@i,@i=@i+1
WHERE pkID IN(95,15,14,17,16)
DECLARE @Str varchar(100); SET @Str='95,15,14,17,16'UPDATE [WebSiteCluster].[dbo].[WebSite_System_Component]
SET SortID=@i,@i=@i+1
WHERE pkID IN(95,15,14,17,16)我的意思是要让95,15,14,17,16,这样按顺序,将它的顺序ID存放。
如:
pkID SortID
95 1
15 2
14 3
17 4
16 5
order by case when pkid=95 then 1
when pkid=15 then 2
when pkid=14 then 3
when pkid=17 then 4
else 5
end
这个试试
UPDATE [WebSiteCluster].[dbo].[WebSite_System_Component]
SET SortID=charindex(','+ltrim(Id)+',',',95,15,14,21,6,')
WHERE pkID IN(95,15,14,17,16)UPDATE [WebSiteCluster].[dbo].[WebSite_System_Component]
SET SortID=(select Count(*) from [WebSiteCluster].[dbo].[WebSite_System_Component] a where a.SortID<=SortID and a.pkID IN(95,15,14,17,16) )
WHERE pkID IN(95,15,14,17,16)
后面的SortID的值,应该是:1,2,3,4,5,6……这样的顺序排列。