GROUP BY


GROUP BY는 데이터를 특정 기준으로 묶어, 각 그룹별로 집계할 수 있도록 해줍니다.
예를 들어, 전공별로 학생들의 성적을 집계하거나, 연도별로 등록한 학생 수를 계산할 때 사용할 수 있습니다.


예시1: 전공별로 평균 성적 구하기

SELECT major,
       AVG(grade) AS avg_grade
FROM students
GROUP BY major;

group-by-major

이 쿼리는 major(전공)별로 데이터를 묶고, 각 전공에 속한 학생들의 성적 평균을 계산합니다.


예시2: 등록 연도별 학생 수 구하기

SELECT enrollment_year,
       COUNT(*) AS student_count
FROM students
GROUP BY enrollment_year;

group-by-enrollment-year



ORDER BY


ORDER BY는 쿼리의 결과를 특정 컬럼을 기준으로 오름차순(ASC) 또는 내림차순(DESC)으로 정렬하는 기능입니다.
기본은 오름차순으로, 명시하지 않을 경우 오름차순이 됩니다.


예시1: 성적이 높은 순서대로 학생 조회

SELECT name, grade
FROM students
ORDER BY grade DESC;

order-by-grade-desc

DESC를 이용해 성적이 높은 순서대로 내림차순 정렬을 했습니다.


예시2: 성적이 낮은 순서대로 학생 조회

SELECT name, grade
FROM students
ORDER BY grade;

order-by-grade

성적이 낮은 순서부터 정렬이 되었습니다.
여기서 알 수 있듯 ASC를 쓰지 않아도 기본값이 오름차순이기 때문에, 오름차순으로 정렬되었습니다.



GROUP BYORDER BY 함께 사용하기


예시: 전공별 평균 성적을 내림차순으로 정렬

SELECT major,
       AVG(grade) AS avg_grade
FROM students
GROUP BY major
ORDER BY avg_grade DESC;

group-by-order-by

GROUP BY를 이용해 전공별로 성적 평균을 낸 뒤, ORDER BY를 이용해 성적을 내림차순 정렬

태그:

카테고리:

업데이트: