SQL BUG集之"随机排序中的newid()问题"

原创 2004年07月29日 10:06: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 行)
--*/

SQL server 内置函数之随机函数newid()和rand()

从A表随机取2条记录,用SELECT TOP 10 * FROM ywle order by newid() order by 一般是根据某一字段排序,newid()的返回值 是uniqueiden...

sql newid()随机函数

从A表随机取10条记录,用SELECT TOP 10 * FROM ywle order by newid() order by 一般是根据某一字段排序,newid()的返回值 是uniqueiden...
  • lJean
  • lJean
  • 2011年05月31日 18:15
  • 686

SQL两个随机函数newID()和RAND()的示例比较

在SQL语言中,随机函数NEWID和rand()用法并不相同,下面就将为您示例分析这两个随机函数的区别,供您参考,希望对您深入理解SQL函数能起到作用。 例句: S...

sqlserver newid() 随机取多条数据 根据条件排序

需求是,用户第一次进来去领取券码页面,随机给用户三条数据,然后显示。之后第二次进来,直接根据用户的openid查是否有数据,若有直接到显示页面查看,么有的话去领取。 测试的时候发现,第一次领取之后显...

sql newid()随机函数

从A表随机取2条记录,用SELECT TOP 10 * FROM ywle order by newid() order by 一般是根据某一字段排序,newid()的返回值 是uniqueiden...

sql newid()随机函数

从A表随机取2条记录,用SELECT TOP 10 * FROM ywle order by newid() order by 一般是根据某一字段排序,newid()的返回值 是uniqueiden...

sql newid()随机函数

从A表随机取2条记录,用SELECT TOP 10 * FROM ywle order by newid() order by 一般是根据某一字段排序,newid()的返回值 是uniqueiden...

在sql语句随机查询几条数据 sql newid()随机函数

从A表随机取2条记录,用SELECT TOP 10 * FROM ywle order by newid() order by 一般是根据某一字段排序,newid()的返回值 是uniqueiden...

SQL的NEWID

今日头条
  • hewei09
  • hewei09
  • 2017年02月28日 10:30
  • 122

SQL Server 索引基础知识(5)----理解newid()和newsequentialid()

SQL Server 索引基础知识(5)----理解newid()和newsequentialid() 作者:郭红俊 时间:January 09, 2008 在 SQL Server 2005...
  • wxzyq
  • wxzyq
  • 2011年09月29日 19:34
  • 378
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL BUG集之"随机排序中的newid()问题"
举报原因:
原因补充:

(最多只允许输入30个字)