database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
ㆍDB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DB2 Q&A 982 게시물 읽기
No. 982
[질문] 랜덤에 관련된 함수가 있나요?
작성자
이준식(ysaraha)
작성일
2006-04-30 19:18
조회수
7,192

랜덤하게 출력되는 함수가 있을가요?

 

예를들어 oracle의 sample()함수나 MySQL의 rand()함수가 같은거요.

 

랜덤으로 시행되는 추첨기능을 만들려고 해서요

 

참고말씀 부탁드릴께요.

이 글에 대한 댓글이 총 4건 있습니다.

rand() 라는 함수가 있습니다.

 

아래 링크는 db2 도움말(매뉴얼)입니다. 참고하세요.

http://publib.boulder.ibm.com/infocenter/db2luw/v8//index.jsp
이전건(leejg68)님이 2006-05-02 13:37에 작성한 댓글입니다.

WITH temp1 (col1,random) AS
(VALUES ((0),(0))
UNION ALL
SELECT col1 + 1, int(rand()*10000)
FROM temp1
WHERE col1 + 1 < 1000
)

-- int(rand()*10000 : 10000미만의 random 숫자를 얻는다.

-- col1 + 1 < 1000  : rand() 를 실행시킬 횟수 지정

 

select t1.tabname
  from (select rownumber() over() rn,tabname from syscat.tables) t1
 where rn in (SELECT random FROM temp1
             where random<500
             fetch first 50 rows only
            );

 

-- syscat.tables : random 값을 뽑아낼 테이블 명으로 변경하세요

-- random<500  : 대상 테이블의 count를 지정

-- fetch first 50 rows only : 추점 대상 count 지정 ( subquery안에서 fetch first 사용은 V8이상에서 가능합니다)

 

 

도님이 2006-05-02 15:36에 작성한 댓글입니다. Edit

        select *
            from tabname a
            where ...
          order by rand()
        fetch first 500 rows only with ur;

도님이 2006-05-30 11:56에 작성한 댓글입니다. Edit

이 방법이 가장 빠릅니다. 조건에 맞는 것중 해당 비율만큼만 읽어옵니다.

 

       select *
         from tabname a
        where ...

           and rand()<= (구하고자 하는 column 수/총 column 수)

도님이 2006-05-30 13:26에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
986DB2 UDB Administration Guide download
IBM DB2
2006-05-09
5495
985Stored Procedure guide
IBM DB2
2006-05-09
5482
984Foreign key항목에 null입력이 안되나요? [1]
미리내
2006-05-02
4884
982[질문] 랜덤에 관련된 함수가 있나요? [4]
이준식
2006-04-30
7192
981locks held에 대하여? [2]
db
2006-04-28
4803
980다른 플랫폼에서 받은 백업이미지의 리스토어 방법 [2]
DB2
2006-04-25
4963
979프로시져 상태를 관리하는 툴이나 명령이 있습니까? [1]
DB2
2006-04-21
5112
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.024초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다