以前从一个表中随机获取数据的时候,都是先把数据读取到来,
然后再在程序中来随机抽取一部分数据, 今天告诉大家一种使用 SQL 语句的方法来随机获取一部分数据
SQL Server:
--
随机获取 10 条数据
SELECT TOP 10 * FROM 表名 ORDER BY NEWID ()
SELECT TOP 10 * FROM 表名 ORDER BY NEWID ()
ORACLE:
--
随机获取 10 条数据
SELECT * FROM ( SELECT * FROM 表名 ORDER BY SYS_GUID()) WHERE ROWNUM <= 10 ;
-- 第二种方法
SELECT * FROM ( SELECT * FROM 表名 ORDER BY DBMS_RANDOM.RANDOM()) WHERE RONUM <= 10 ;
SELECT * FROM ( SELECT * FROM 表名 ORDER BY SYS_GUID()) WHERE ROWNUM <= 10 ;
-- 第二种方法
SELECT * FROM ( SELECT * FROM 表名 ORDER BY DBMS_RANDOM.RANDOM()) WHERE RONUM <= 10 ;
本文介绍如何使用SQL语句从数据库表中随机抽取指定数量的数据记录。对于SQL Server, 可以通过ORDER BY NEWID()结合TOP关键字实现;而对于Oracle数据库,则可以利用SYS_GUID()或者DBMS_RANDOM.RANDOM()进行随机排序后限制返回的行数。
286

被折叠的 条评论
为什么被折叠?



