以前从一个表中随机获取数据的时候,都是先把数据读取到来,
然后再在程序中来随机抽取一部分数据, 今天告诉大家一种使用 SQL 语句的方法来随机获取一部分数据
SQL Server:
1-- 随机获取 10 条数据 2SELECT TOP 10 * FROM 表名 ORDER BY NEWID()
ORACLE:
1-- 随机获取 10 条数据 2SELECT * FROM (SELECT * FROM 表名 ORDER BY SYS_GUID()) WHERE ROWNUM <= 10;
-- 第二种方法
1SELECT * FROM (SELECT * FROM 表名 ORDER BY DBMS_RANDOM.RANDOM()) WHERE RONUM <= 10; 2SELECT dbms_random.random()*10 random_string FROM dual; 3 select (FLOOR(dbms_random.value*999567895678)+1) from dual; 4 select (FLOOR(dbms_random.value*8)+1)||'00' from dual; 5 6 SELECT dbms_random.string('x', 13) random_string FROM dual; 7 SELECT lower( dbms_random.string('u', 1) ) FROM dual; 8 select (FLOOR(dbms_random.value*27)+1) from dual; 9 SELECT'1001'|| lower(chr((FLOOR(dbms_random.value*15)+65)))||'e',chr(65),chr(80) FROM dual; 10 SELECT'1001'|| lower(chr((FLOOR(dbms_random.value*15)+65)))||'e' FROM dual