SELECT *
FROM employees
ORDER BY DBMS_RANDOM.value()
order by가 실수로 정렬이 안 될텐데, 이게왜 되는지 궁금합니다. 관련 링크도 첨부해주시면 감사하겠습니다.
by 창조의날개
[2015.08.04 14:02:17]
SELECT DBMS_RANDOM.value() FROM DUAL;
위 쿼리를 실행해 보시면 렌덤값을 출력합니다.
그러므로 ORDER BY를 무작위로 하기 위해서 쓴듯합니다.
by 마농
[2015.08.04 14:08:42]
ORDER BY 절에 올 수 있는 것은
1. 컬럼 이나 표현식(값, 계산식, 함수 등) 이 있고요.
- 해당 표현식의 값으로 정렬하라는 의미
2. 또한 조회 컬럼의 번호가 올 수도 있습니다.(예 : ORDER BY 1, 2)
- 해당 순번에 있는 컬럼의 값으로 정렬하라는 의미
질문을 하신 이유는... 2번과 1번을 혼동하신 듯 하네요.
by 오라클
[2015.08.04 15:19:23]
2번 형태를 의도하고 썼어요.
그런데 DBMS_RANDOM.value() 반환치가 0.324535 이런 실수치를 반환하는데