问题描述
- oracle随机数有时候取两个,有时候是1个,为什么
-
SQL如下:select *
from (select employee_id,
first_name,
salary,
hire_date,
ROW_NUMBER() OVER(PARTITION BY EXTRACT(YEAR FROM HIRE_DATE) ORDER BY EMPLOYEE_ID) RN
FROM EMPLOYEES
WHERE HIRE_DATE IS NOT NULL
AND EXTRACT(YEAR FROM HIRE_DATE) IN (2001,2002,2003))
WHERE RN =trunc(DBMS_RANDOM.value(1,4));
,结果如图(图示为2个的情况),求教大神,为什么????
解决方案
Oracle 取随机数
Oracle 取随机数
Oracle 取随机数
解决方案二:
WHERE RN =trunc(DBMS_RANDOM.value(1,4)); 这个应该类似全表扫,所以每条数据都会计算一次trunc(DBMS_RANDOM.value(1,4));
时间: 2024-11-20 14:50:35