请教:sybase中随机抽取一个表中的n条记录,n是用户输入的一个参数!

时间:2022-07-25 23:23:58
请教高手:
sybase中随机抽取一个表中的n条记录,n是用户输入的一个参数!不是前n条,是随机的n条记录
小弟在此不胜感激!请高手指点!

16 个解决方案

#1


select top n from tt order by newid()

#2


引用 1 楼 WWWWA 的回复:
select top n from tt order by newid()

问题是比如我输入5,现在每次查询出来5条记录都是一样的,不是随机的。
我想实现的是每次查询出来的5条记录都不一样,怎么办啊,不过还是要谢谢你!

#3


不是吧,我在ASA、ASE中测试,没有重复的,只要记录够多

#4


学习了

#5


distinct

#6


站着学习

#7


select top n from tt order by newid()是sql server的写法.
sybase应该这样写:
set rowcount n
go
select * from tt order by newid()
go


newid()是可以用的,随机产生的唯一值.

#8


Sybase 12.5中不能用newid() 

#9


这个我觉得你的表如果关键字如果是可以数字话的话,可以随机生成几个关键字,然后根据这几个关键字获取数据.

#10


学习了

#11


该回复于2010-12-20 10:32:33被版主删除

#12


select top n from tt order by newid() 这个新版本的sybase可以,12.5不支持top n

#13


引用 7 楼 pluto1971 的回复:
select top n from tt order by newid()是sql server的写法.
sybase应该这样写:
set rowcount n
go
select * from tt order by newid()
go
newid()是可以用的,随机产生的唯一值.


貌似IQ上也不能使用

错误:

>[Error] Script lines: 6-6 --------------------------
 SQL Anywhere 错误 -1001030: 不支持功能  NEWID/NUMBER/non-deterministic function used outside the top-level select list 。 
-- (df_Heap.cxx 1499) 
 Msg: 21, Level: 14, State: 0
 Line: 0 

#14


该回复于2011-05-10 09:42:01被版主删除

#15


该回复于2011-05-10 09:42:01被版主删除

#16


该回复于2011-05-10 09:42:37被版主删除

#1


select top n from tt order by newid()

#2


引用 1 楼 WWWWA 的回复:
select top n from tt order by newid()

问题是比如我输入5,现在每次查询出来5条记录都是一样的,不是随机的。
我想实现的是每次查询出来的5条记录都不一样,怎么办啊,不过还是要谢谢你!

#3


不是吧,我在ASA、ASE中测试,没有重复的,只要记录够多

#4


学习了

#5


distinct

#6


站着学习

#7


select top n from tt order by newid()是sql server的写法.
sybase应该这样写:
set rowcount n
go
select * from tt order by newid()
go


newid()是可以用的,随机产生的唯一值.

#8


Sybase 12.5中不能用newid() 

#9


这个我觉得你的表如果关键字如果是可以数字话的话,可以随机生成几个关键字,然后根据这几个关键字获取数据.

#10


学习了

#11


该回复于2010-12-20 10:32:33被版主删除

#12


select top n from tt order by newid() 这个新版本的sybase可以,12.5不支持top n

#13


引用 7 楼 pluto1971 的回复:
select top n from tt order by newid()是sql server的写法.
sybase应该这样写:
set rowcount n
go
select * from tt order by newid()
go
newid()是可以用的,随机产生的唯一值.


貌似IQ上也不能使用

错误:

>[Error] Script lines: 6-6 --------------------------
 SQL Anywhere 错误 -1001030: 不支持功能  NEWID/NUMBER/non-deterministic function used outside the top-level select list 。 
-- (df_Heap.cxx 1499) 
 Msg: 21, Level: 14, State: 0
 Line: 0 

#14


该回复于2011-05-10 09:42:01被版主删除

#15


该回复于2011-05-10 09:42:01被版主删除

#16


该回复于2011-05-10 09:42:37被版主删除