社区
MS-SQL Server
帖子详情
随机取记录问题!
yhd0411
2003-10-17 03:26:32
表里有几万条记录,怎么随机取20%差不多的记录?
...全文
24
6
打赏
收藏
随机取记录问题!
表里有几万条记录,怎么随机取20%差不多的记录?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
changechange
2003-10-18
打赏
举报
回复
declare @str varchar(20)
select @str=cast(ceiling(0.2* count(*)) as varchar) from 表
exec('select top '+@str+' * from 表 order by newid()')
zjcxc
元老
2003-10-17
打赏
举报
回复
使用 TOP 和 PERCENT 限制结果集
TOP 子句限制返回到结果集中的行数。
TOP n [PERCENT]
n 指定返回的行数。如果未指定 PERCENT,n 就是返回的行数。如果指定了 PERCENT,n 就是返回的结果集行的百分比,如下所示:
TOP 120 /*Return the top 120 rows of the result set. */
TOP 15 PERCENT /* Return the top 15% of the result set. */.
如果一个 SELECT 语句既包含 TOP 又包含 ORDER BY 子句,那么返回的行将会从排序后的结果集中选择。整个结果集按照指定的顺序建立并且返回排好序的结果集的前 n 行。
限制结果集大小的另一种方法是在执行一个语句之前执行 SET ROWCOUNT n 语句。SET ROWCOUNT 与 TOP 的不同之处在于:
SET ROWCOUNT 限制适用对 ORDER BY 取值后在结果集中生成行。如果指定了 ORDER BY,SELECT 语句将在从某个已根据指定的 ORDER BY 分类进行了排序的值集中选择 n 行后终止。
TOP 子句适用于指定了该子句的单个 SELECT 语句。在执行另一个 SET ROWCOUNT 语句之前,SET ROWCOUNT 会一直有效,例如执行 SET ROWCOUNT 0 将会关闭此选项。
zjcxc
元老
2003-10-17
打赏
举报
回复
--随机从表中取20%的记录.
select top 20 PERCENT * from 表 order by newid()
sdhdy
2003-10-17
打赏
举报
回复
select top 5000 * from tablename order by newid()
---------------------------------------- 主要是这里
yujohny
2003-10-17
打赏
举报
回复
declare @str varchar(20)
select @str=cast(ceiling(0.2* count(*)) as varchar) from 表
exec('select top '+@str+' * from 表 order by newid()')
yujohny
2003-10-17
打赏
举报
回复
select top 10000 * from 表 order by newid()
这样就是取表里的随机10000条数据
Java List
随机
取
记录
在这对Java List中怎么
随机
取
数做一个分享: 其实List中没有现成
随机
取
记录
的方法,但在Collections中有个shuffle方法可以实现“洗牌”的效果,所谓“洗牌”就是把List中的元素打乱重新排序。重新排列后的List再从头
取
需要发
记录
数,就相等于完成了
随机
取
数的效果,见代码 import java.util.ArrayList; import java.util.Coll...
SQLSERVER数据库中
随机
取
记录
从A表
随机
取
10条
记录
,用SELECT TOP 10 * FROM ywle order by newid() order by 一般是根据某一字段排序,newid()的返回值 是uniqueidentifier ,order by newid()
随机
选
取
记录
是如何进行的 newid()在扫描每条
记录
的时候都生成一个值, 而生成的值是
随机
的, 没有大小写顺序. 所以最终结果再按这个排序,
Sql
随机
取
数据
背景:数据库中存储的数据量很大,要用算法建模,为了验证模型,不可能将全部数据捞起来跑。如果只是使用limit 100这样
取
出数据库中的
记录
,那么可能刚好
取
出了某一类数据。为了更好的验证模型,使用
随机
的方式,
取
其中的
记录
,更好。 MsSql
随机
取
数据 select top 10 * from c_cy_admin order by newid() Access
随机
取
数据 select SELECT top 10 id FROM 表1 order by rnd(id) mySql
随机
取
数据 SELECT
postgresql
取
随机
记录
原创,转载请注明出处!postgresql
取
随机
记录
有以下几种方式,请参阅:http://blog.chinaunix.net/uid-20332519-id-5616589.html 另一种相对简单的算法如下:explain (analyze,verbose,costs,buffers,timing)select * from 表名 where 主键=ANY(( with cte as(
mysql
随机
取
不重复数据_SQL语句:
随机
取
3条不重复的
记录
随机
取
3条不重复的
记录
【Access】select top 3 * from tablename order by rnd(id);【SqlServer】select top 3 * from tablename order by newid();【MySQL】select * from tablename order by rand() limit 0,3;【Oracle】select * fr...
MS-SQL Server
34,575
社区成员
254,583
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章