ORDER BY排序后,表中字段相加的困惑?

相关文章导航
Sql Server2005 Transact-SQL 新兵器学习总结之-总结
Flex,Fms3相关文章索引
FlexAir开源版-全球免费多人视频聊天室,免费网络远程多人视频会议系统((Flex,Fms3联合开发))<视频聊天,会议开发实例8>


在sql server2000自带DB-pubs,运行下面的sql,它是把第一条和第二条记录的字段job_id进行了相加 
我们可以得到字符:1.2.

declare @str varchar(1000) 
select @str='' 
SELECT top 2  @str=@str+ convert(varchar(10),job_id)+'.' 
FROM [pubs].[dbo].[jobs] 
print @str


现在我想从表中随机抽2条记录,把job_id来相加 
我们只得到字符:5. 
declare @str varchar(1000) 
select @str='' 
SELECT top 2  @str=@str+ convert(varchar(10),job_id)+'.' 
FROM [pubs].[dbo].[jobs] 
order by newid() 
print @str

这时我总是只能得到一条随机行的job_id 
这样排序后为什么是这样? 
百思不解中,希望有经验的XDJM指点


由于时间紧迫我想了一个中转的方法 
就是利用了局部临时表过渡 
SELECT top 2  job_id 
into #temp 
FROM [pubs].[dbo].[jobs] 
order by newid() 
这样再利用#temp来进行job_id的相加

 

 

 

收藏与分享
收藏到QQ书签 添加到百度搜藏 添加到百度搜藏 添加到雅虎收藏 分享到饭否 收藏到就喜欢网络收藏夹 

RSS订阅我 什么是RSS?
feedsky    http://wap.feedsky.com/aierongrss    E-mail 
订阅到雅蛙        使用RSS邮天下订阅    订阅到有道阅读 
订阅到抓虾    鲜果阅读器订阅图标    Add to Google 
訂閱 Bloglines    哪吒提醒    Subscribe in NewsGator Online

东莞.net俱乐部
东莞.net俱乐部 欢迎您的加入

我的系列文章
A.Sql Server2005 Transact-SQL 新兵器学习 
B.MCAD学习 
C.代码阅读总结 
D.ASP.NET状态管理 
E.DB(数据库) 
F.WAP 
G.WinForm 
H.Flex

我的好文推荐
FlexAir开源版-全球免费多人视频聊天室,免费网络远程多人视频会议系统((Flex,Fms3联合开发))<视频聊天,会议开发实例8> 
Sql Server2005 Transact-SQL 新兵器学习总结之-总结 
MS SQL数据库备份和恢复存储过程(加强版本) 
sql server中分布式查询随笔(链接服务器(sp_addlinkedserver)和远程登录映射(sp_addlinkedsrvlogin)使用小总结) 
ASP.NET2.0国际化/本地化应用程序的实现总结(多语言,多文化页面的实现) 
WAP开发资料站(最新更新) 
自定义格式字符串随笔 (IFormattable,IFormatProvider,ICustomFormatter三接口的实现) 
Mcad学习笔记之异步编程(AsyncCallback 委托,IAsyncResult接口,BeginInvoke方法,EndInvoke方法的使用小总结) 
Mcad学习笔记之通过反射调用類的方法,屬性,字段,索引器(2種方法) 
Mcad学习笔记之序列化(2进制和Soap序列 化) 
Mcad学习笔记之委托再理解(delegate的构造器,BeginInvoke,EndInvoke,Invoke4个方法的探讨) 
ASP.NET状态管理之一(概括篇) 
Flex,Fms学习笔记


相关文章导航
  1. Sql Server2005 Transact-SQL 新兵器学习总结之-总结
  2. Flex,Fms3相关文章索引
  3. FlexAir开源版-全球免费多人视频聊天室,免费网络远程多人视频会议系统((Flex,Fms3联合开发))<视频聊天,会议开发实例8>



在sql server2000自带DB-pubs,运行下面的sql,它是把第一条和第二条记录的字段job_id进行了相加 
我们可以得到字符:1.2.

declare @str varchar(1000) 
select @str='' 
SELECT top 2  @str=@str+ convert(varchar(10),job_id)+'.' 
FROM [pubs].[dbo].[jobs] 
print @str


现在我想从表中随机抽2条记录,把job_id来相加 
我们只得到字符:5. 
declare @str varchar(1000) 
select @str='' 
SELECT top 2  @str=@str+ convert(varchar(10),job_id)+'.' 
FROM [pubs].[dbo].[jobs] 
order by newid() 
print @str

这时我总是只能得到一条随机行的job_id 
这样排序后为什么是这样? 
百思不解中,希望有经验的XDJM指点


由于时间紧迫我想了一个中转的方法 
就是利用了局部临时表过渡 
SELECT top 2  job_id 
into #temp 
FROM [pubs].[dbo].[jobs] 
order by newid() 
这样再利用#temp来进行job_id的相加

 

 

 

收藏与分享

收藏到QQ书签 添加到百度搜藏 添加到百度搜藏 add2myweb.gif添加到雅虎收藏 分享到饭否 收藏到就喜欢网络收藏夹 vivi_coop.gif

RSS订阅我 什么是RSS?

feedsky    http://wap.feedsky.com/aierongrss    E-mail 
订阅到雅蛙    ico_sub4.gif    使用RSS邮天下订阅    订阅到有道阅读 
订阅到抓虾    鲜果阅读器订阅图标    Add to Google 
訂閱 Bloglines    哪吒提醒    Subscribe in NewsGator Online

东莞.net俱乐部

东莞.net俱乐部 欢迎您的加入

我的系列文章
A.Sql Server2005 Transact-SQL 新兵器学习 
B.MCAD学习 
C.代码阅读总结 
D.ASP.NET状态管理 
E.DB(数据库) 
F.WAP 
G.WinForm 
H.Flex

我的好文推荐
FlexAir开源版-全球免费多人视频聊天室,免费网络远程多人视频会议系统((Flex,Fms3联合开发))<视频聊天,会议开发实例8> 
Sql Server2005 Transact-SQL 新兵器学习总结之-总结 
MS SQL数据库备份和恢复存储过程(加强版本) 
sql server中分布式查询随笔(链接服务器(sp_addlinkedserver)和远程登录映射(sp_addlinkedsrvlogin)使用小总结) 
ASP.NET2.0国际化/本地化应用程序的实现总结(多语言,多文化页面的实现) 
WAP开发资料站(最新更新) 
自定义格式字符串随笔 (IFormattable,IFormatProvider,ICustomFormatter三接口的实现) 
Mcad学习笔记之异步编程(AsyncCallback 委托,IAsyncResult接口,BeginInvoke方法,EndInvoke方法的使用小总结) 
Mcad学习笔记之通过反射调用類的方法,屬性,字段,索引器(2種方法) 
Mcad学习笔记之序列化(2进制和Soap序列 化) 
Mcad学习笔记之委托再理解(delegate的构造器,BeginInvoke,EndInvoke,Invoke4个方法的探讨) 


本文转自aierong博客园博客,原文链接http://www.cnblogs.com/aierong/archive/2005/02/03/101503.html,如需转载请自行联系原作者



发布了148 篇原创文章 · 获赞 42 · 访问量 18万+
展开阅读全文
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览