DB/전체

DB group by 조회 시 최소값, 최대값 구하며 이름 구하기

have a nice day :D 2016. 12. 20. 23:44
반응형

DB group by 조회 시 최소값(혹은 최대값) 구하며 이름 구하기


* category별 점수가 높은 사람들 구하는 방법

(category = 학점 등으로 대체 될 수 있음)


1. group by : 특정 부분을 묶을 때 사용.

group by를 사용하여 category 별로 묶어 최대값을 조회한다.

SELECT category, MAX(score) AS scroe FROM ranking WHERE GROUP BY category


2. category별 Max(score) 높은 점수의 사용자 값 구하기 : join 사용

위의 쿼리와 조회쿼리를 join 하겠다.

(조회쿼리 = SELECT category, score, nickname FROM ranking)



결론)

SELECT t1.category, t1.score, t1.nickname FROM ranking t1, (

 SELECT category, MAX(score) AS scroe FROM ranking WHERE GROUP BY category ) t2 

WHERE t1.category= t2.category AND t1.score= t2.score GROUP BY category, score

반응형