Database/SAP IQ (Sybase)
[Sybase IQ] 데이터 샘플링
데브포유
2012. 4. 6. 16:47
반응형
통계작업을 위해 데이터를 샘플링하는 경우가 있습니다.
이때 Sybase IQ에서는 RAND() 함수를 사용하면 쉽게 샘플링 데이터를 얻을 수 있습니다.
ex) 2012년 1월 거래 데이터에서 5% 데이터를 샘플링하기
SELECT *
FROM 거래
WHERE 년월 = '201201'
AND RAND(ROWID(거래)) < .05
;
정해진 건수 예를 들어 10만건 이렇게 구해야 한다면 먼저 적당한 %를 구한 다음에 TOP으로 가져오면 되겠죠.
PS) 오라클을 사용한다면 아래와 같이 하면 됩니다.
SELECT *
FROM 거래 SAMPLE(5)
WHERE 년월 = '201201'
;
또 다른 방법
SELECT *
FROM (SELECT *
FROM 거래
WHERE 년월 = '201201'
ORDER BY DBMS_RANDOM.VALUE
)
WHERE ROWNUM < 10000
;
반응형