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
운영게시판
최근게시물
MS-SQL Q&A 5580 게시물 읽기
No. 5580
order by 안에 rand() 벨류요
작성자
julia
작성일
2010-02-24 08:27
조회수
5,966

안녕하세요.

select top 5 * from tableA order by abs(columnA- (rand()*5000)) asc

이렇게 해봤는데요.

columnA에 각 레코드별로 bigint값이 다르게 들어있습니다. 이걸 비중으로 보고. 그 비중에 맞춰서 random 하게 레코드를 가져오려고 했는데요.

rand()*5000 이 값이 저 안에서는 어떤 레코드와 상관없이 같을 것이라고 생각을 했는데요.

결과를 보니 혹시 매 레코드마다 달라지는 게 아닌가 싶습니다. 그리고 rand()*5000이 똑같은 값이면 구지 그것을 넣지 않고 columnA asc 했을것 같기두 하구요.

select rand() as randvalue, * from tableA하면 리턴되는 10개 레코드 모두 같은 randvalue를 가지고 있습니다.

남이 짜놓은 코드인데.. 왜 저렇게 썼는지 전혀 이해가 가지 않습니다.

조언 부탁드립니다.

[Top]
No.
제목
작성자
작성일
조회
5583SQL 작성 방법 SQL 기본 문법
박창완
2010-02-26
7107
5582날짜별 번호 매기기 (SELECT 만을 이용한) [2]
이철성
2010-02-25
8538
5581오라클 Linked Server 연결이 안됩니다.
아브라
2010-02-24
7319
5580order by 안에 rand() 벨류요
julia
2010-02-24
5966
5579mssql 서비스의 잦은 다운
정현철
2010-02-23
8930
5578쿼리 좀 봐주세요...
초보
2010-02-22
6168
5577오/라/클/ D/B/실/무/전/문/가
박창완
2010-02-22
6622
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.025초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다