반응형
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
반응형
'DB > 전체' 카테고리의 다른 글
[mariadb] 컬럼 데이터에 ','를 row로 처리하기 (0) | 2023.10.18 |
---|---|
[MariaDB] sql 문으로 VO 만들기 (camel) (0) | 2023.09.22 |
DB 생성/삭제/이동, Table 생성/삭제/컬럼추가/컴럼삭제/등록 (0) | 2021.06.12 |
TooManyResultsException error (0) | 2017.01.05 |
[SYBASE] DB Lock (0) | 2016.12.18 |