sybase中随机抽取一个表中的n条记录,n是用户输入的一个参数!不是前n条,是随机的n条记录
小弟在此不胜感激!请高手指点!
16 个解决方案
#1
select top n from tt order by newid()
#2
问题是比如我输入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()是可以用的,随机产生的唯一值.
sybase应该这样写:
set rowcount n
go
select * from tt order by newid()
go
newid()是可以用的,随机产生的唯一值.
#8
Sybase 12.5中不能用newid()
#9
这个我觉得你的表如果关键字如果是可以数字话的话,可以随机生成几个关键字,然后根据这几个关键字获取数据.
#10
学习了
#11
#12
select top n from tt order by newid() 这个新版本的sybase可以,12.5不支持top n
#13
貌似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
#15
#16
#1
select top n from tt order by newid()
#2
问题是比如我输入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()是可以用的,随机产生的唯一值.
sybase应该这样写:
set rowcount n
go
select * from tt order by newid()
go
newid()是可以用的,随机产生的唯一值.
#8
Sybase 12.5中不能用newid()
#9
这个我觉得你的表如果关键字如果是可以数字话的话,可以随机生成几个关键字,然后根据这几个关键字获取数据.
#10
学习了
#11
#12
select top n from tt order by newid() 这个新版本的sybase可以,12.5不支持top n
#13
貌似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