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 6377 게시물 읽기
No. 6377
쿼리 문의 드려요
작성자
김종섭(winglet)
작성일
2012-05-28 14:23ⓒ
2012-05-28 14:24ⓜ
조회수
6,933

 

아래 처럼 결과를 얻으려면 쿼리를 어떻게 해야 할까요

그렇잖아도 허접한 실력인데 mssql은 익숙치 않아서 쿼리 만들기가 영 쉽지 않네요 

테이블1)

 

uid

kind1

kind2

kind3

score

1

A

0

0

17600

2

B

0

0

11850

3

B

0

0

9530

4

B

1

1

22690

5

B

1

1

22160

6

A

2

2

51651

7

A

2

2

35168

8

A

2

2

 

31065

 



 >> kind1,kind2,kind3 을 그룹으로 해서 각 그룹별로 score 상위 3까지만 산출하고 나머지는 제외

원하는 결과)
A,0,2 1위점수
A,0,2 2위점수
A,0,2 3위점수

A,2,2 1위점수
A,2,2 2위점수
A,2,2 3위점수

A,2,0 1위점수
A,2,0 2위점수
A,2,0 3위점수

A,0,0 1위점수
A,0,0 2위점수
A,0,0 3위점수

 

B**도 마찬가지

 

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

 SELECT uid, kind1, kind2, kind3, score

FROM (

 SELECT RANK() OVER ( PARTITION BY kind1, kind2, kind3 ORDER BY score DESC ) AS rk

, bt.*

 FROM baseTable AS bt

) AS tt

WHERE tt.rk <= 3;

우욱님이 2012-05-28 15:46에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
6380날짜구간을 열로 구현하고 싶습니다. [5]
장성욱
2012-06-05
7995
6379sql_server가 갑자기 연결이 안되요?
김성호
2012-06-04
6854
6378쿼리 작성 좀 도와주세요 [2]
전기영
2012-05-31
7286
6377쿼리 문의 드려요 [1]
김종섭
2012-05-28
6933
6376질문드립니다. [1]
초짜
2012-05-25
6514
6375웹호스팅 db서버사용시 필요한 tools [2]
김형태
2012-05-14
7951
6373여러쿼리로 동시에 insert시 [1]
호이짜
2012-05-09
7830
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다