动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   数据库 → 阅读文章

 随机排序中的newid()问题

作者:无从考证 来源:转载 
阅读 2227 人次 , 2006-2-15 17:52:00 

/**==** 2. 随机排序中的newid()问题 **==**/
--测试数据
declare @t table(name char(1),value int)
insert into @t
select ’a’,1
union all select ’a’,2
union all select ’b’,3
union all select ’b’,4
union all select ’c’,5
union all select ’c’,6
--要求,随机排序,但name相同的要排在一齐
select a.*
from @t a join(
 select aa=newid(),name from(select distinct name from @t) a
) b on a.name=b.name
order by b.aa,newid()
/*--测试结果之一,并没有达到要求.如果将join改成left right full join,就正确
name value       
---- ----------- 
b    4
b    3
c    5
a    1
a    2
c    6
(所影响的行数为 6 行)
--*/   
 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:更新字符串列表中,指定位置的字符串
· 下一篇:关于日期天数计算的函数
· Oracle数据库技术(7)
· SQLServer2000中UNION与UNION ALL的区别
· 数据库正规化和设计技巧
· 也谈如何缩小SQL SERVER日志文件
· 升级SQL SERVER6.5到2000的注意事项


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077