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 908 게시물 읽기
No. 908
이런 쿼리를 사용했습니다. 좀 컴팩트 시켜주세요...
작성자
주영택
작성일
2006-01-09 15:47ⓒ
2006-01-09 17:07ⓜ
조회수
6,368

select * from

( select idx, nm_kor, email, score, clear_level, total_time, rownumber() over ( order by score desc, clear_level desc, total_time asc ) as num from

( SELECT idx, nm_kor, email, score, clear_level, total_time, rank() over (partition by email order by score desc, total_time asc) as rank FROM

EVT003

where content_date = '200601') as sort
where rank=1 ) as list
where num >= 1 and num < 4
;

 

이래저래 눈팅해서 만든 쿼리인데요

목적은 이메일을 중심으로 리스트를 순위 매기고 날자로 구분하여 상위 3건을 소팅하는 겁니다.

(상위 3건 이 아닐경우 추가로 부탁드립니다.)

복잡한거 같은데 단순화할 수 있는 방법이 없을까요?

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

 

SELECT idx, nm_kor, email, score, clear_level, total_time, rank() over (partition by email order by score desc, total_time asc) as rank FROM

EVT003

where content_date = '200601'

order by rank

fetch first 3 rows only;

order님이 2006-01-09 16:35에 작성한 댓글입니다. Edit

상위 3 이 아닐경우 즉

페이징을 해야할 경우에는 다른 방법이 없을까요?

1-10

11-20

21-30

이런 식으로 페이징이 필요한 경우에 사용할 수 있는 방법을 부탁드립니다 ^^

 

주영택님이 2006-01-09 17:05에 작성한 댓글입니다. Edit

 

select *

from (

Select a.*,rownumber() over() rn

from(

SELECT idx, nm_kor, email, score, clear_level, total_time,

rank() over (partition by email order by score desc, total_time asc)  rank ,

FROM EVT003

where content_date = '200601'

order by rank )a)a

where rn between 10 and 20;

 

re님이 2006-01-09 17:51에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
911Convert timestamp to milliseconds [1]
Hyung
2006-01-27
5930
910각 아이디별 최종 데이터값만 가져오기 [2]
빵꾸
2006-01-16
5115
909db2에서 테이블마다 사용하는 공간을 구하려면 어떻게 해야하나요.. [1]
회장
2006-01-11
5058
908이런 쿼리를 사용했습니다. 좀 컴팩트 시켜주세요... [3]
주영택
2006-01-09
6368
907sql질문.. [5]
손님
2006-01-08
5686
906날짜필드가 Char 타입인데... DATE타입으로 변경하는것좀 알려주세요... [4]
이성훈
2006-01-05
7185
905dayofweek 함수 사용법 좀 봐주세요^^ [2]
이성훈
2006-01-05
5884
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.023초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다