我想从SQL SERVER的表中选取符合条件的信息,然后从中随机选取10条。应该怎摸实现呢?

buptpki 2004-07-27 08:25:41
rt
...全文
216 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
loverpyh 2004-07-27
  • 打赏
  • 举报
回复
select top 10 * from table where field=条件 order by newid()
mfc2003 2004-07-27
  • 打赏
  • 举报
回复
order by newid()
测试通过!
wzqinyfwu 2004-07-27
  • 打赏
  • 举报
回复
随机抽取用order by newid(),其它不变,取前10个就是了 top 10
cqdj 2004-07-27
  • 打赏
  • 举报
回复
set rowcount 10
select * from tablename
where 条件 order by newid()
futulove 2004-07-27
  • 打赏
  • 举报
回复
select top 10 * from workerlog where worker_gh='j68040001' order by newid()
victorycyz 2004-07-27
  • 打赏
  • 举报
回复
select top 10 *
from tablename
where ......
order by newid()
buptpki 2004-07-27
  • 打赏
  • 举报
回复
这么多人回答,看来分不够了,还是谢谢大家,我去试试!不懂在问!




打开下面链接,直接免费下载资源: https://renmaiwang.cn/s/dxwaw 本篇文章旨在介绍在SQL Server、Oracle、MySQL和Access等四种主流数据库系统中获取随机数据的实现方法。对于开发人员来说,从大量数据中提取出一定数量的样本进行处理或测试是一个常见的需求。为了满足这一需求,我们将详细讲解如何在不同数据库体系结构中高效地完成此任务。 1. **SQL Server** 在SQL Server环境下,可以通过以下步骤获取随机数据:首先使用`TOP`子句限定返回的结果行数;其次结合`NEWID()`函数为每一行生成唯一的全局唯一标识符(GUID),并通过排序来实现随机选取的效果。具体实现如下: ```sql SELECT TOP 10 * FROM T_USER ORDER BY NEWID(); ``` 其中,`NEWID()`函数会自动生成一个最新的唯一值,通过对其排序即可确保结果的随机性。 2. **Oracle** 对于使用Oracle数据库的人来说,在数据集中随机选取一定数量的数据可以通过以下方法实现:首先为每记录生成一个随机数;其次将所有记录按该随机数值进行排序,并从中提取前10。具体操作如下: ```sql SELECT * FROM (SELECT * FROM T_USER ORDER BY DBMS_RANDOM.RANDOM()) WHERE ROWNUM <= 10; ``` 这里,`ROWNUM`伪列用于限定返回的行数。 3. **MySQL** MySQL提供了`RAND()`函数,该函数会生成一个介于0和1之间的随机浮点数值。通过结合`ORDER BY`子句对数据进行排序,并配合`LIMIT 10`子句即可实现随机选取的效果: ```sql SELECT * FROM T_USER ORDER BY R

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧