본문 바로가기
Database/MS-Sql Lecture

group by 상위 5개씩 조회

by 현이빈이 2009. 1. 8.
반응형
CREATE TABLE #TEMP
(
REGION VARCHAR(10)
, MENU VARCHAR(10)
, HIT INT
)

INSERT INTO #TEMP VALUES('서울','의자',2234)
INSERT INTO #TEMP VALUES('서울','책상',54345)
INSERT INTO #TEMP VALUES('서울','컴퓨터',235)
INSERT INTO #TEMP VALUES('서울','키보드',435)
INSERT INTO #TEMP VALUES('서울','마우스',2421)
INSERT INTO #TEMP VALUES('서울','핸드폰',14)
INSERT INTO #TEMP VALUES('서울','모자',234)
INSERT INTO #TEMP VALUES('서울','책',534)
INSERT INTO #TEMP VALUES('서울','시계',231)

INSERT INTO #TEMP VALUES('부산','의자',35)
INSERT INTO #TEMP VALUES('부산','책상',5456)
INSERT INTO #TEMP VALUES('부산','컴퓨터',42)
INSERT INTO #TEMP VALUES('부산','키보드',14234)
INSERT INTO #TEMP VALUES('부산','마우스',435)
INSERT INTO #TEMP VALUES('부산','핸드폰',2311)
INSERT INTO #TEMP VALUES('부산','모자',123)
INSERT INTO #TEMP VALUES('부산','책',3423)
INSERT INTO #TEMP VALUES('부산','시계',2132)

INSERT INTO #TEMP VALUES('경기','의자',3423)
INSERT INTO #TEMP VALUES('경기','책상',43534)
INSERT INTO #TEMP VALUES('경기','컴퓨터',435)
INSERT INTO #TEMP VALUES('경기','키보드',745)
INSERT INTO #TEMP VALUES('경기','마우스',645)
INSERT INTO #TEMP VALUES('경기','핸드폰',466)
INSERT INTO #TEMP VALUES('경기','모자',456)
INSERT INTO #TEMP VALUES('경기','책',11)
INSERT INTO #TEMP VALUES('경기','시계',423622)

--------------------------------------------------------------------------

SELECT * FROM #TEMP A
WHERE HIT IN (SELECT TOP 5 B.HIT FROM #TEMP B WHERE B.REGION = A.REGION ORDER BY B.HIT DESC)
ORDER BY 1,3 DESC

/*
REGION     MENU       HIT        
---------- ---------- -----------
경기         시계         423622
경기         책상         43534
경기         의자         3423
경기         키보드        745
경기         마우스        645
부산         키보드        14234
부산         책상         5456
부산         책          3423
부산         핸드폰        2311
부산         시계         2132
서울         책상         54345
서울         마우스        2421
서울         의자         2234
서울         책          534
서울         키보드        435


출처 : sqler.pe.kr
반응형