【发布时间】:2014-10-04 08:30:14
【问题描述】:
我需要你帮助...解决一个小问题。 我有一个应该在表中访问的 java 服务并从表中获取随机行。
我的表很简单:它只包含两个列:
"Id" INT IDENTITY(1,1) NOT NULL Primary Key
"Datas" Varchar(64) NOT NULL
值 Id 是一个累进数字,因此您应该认为创建一个随机数并获取 id=randomic_number 所在的行就足够了。
但是我在桌子上有很多空白。例如,一个表格样本可能是这样的:
ID Datas
1 Row1
2 Row2
3 Row3
8 Row4
10 Row5
25 Row6
639 Row7
有没有一种非常时尚的方式来随机获得一排?没有条件必须是......只是随机的! 我使用 sql srv 2000。
我会避免...
select *
然后使用随机数循环整个结果集...因为它可以包含大量行...
【问题讨论】:
-
您使用的是什么数据库?我假设是 MSSQL(由于
IDENTITY关键字)? -
好的。感谢您的澄清。我添加了
tsql标签来反映这一点。 -
EXHUMA!!!极好的!!! SELECT TOP 1 column from table ORDER BY NEWID() 非常感谢!!!