PM/SQL

[내일배움캠프 TIL] 사전캠프 8일차 SQL 기초(7)

alstj0506 2025. 3. 19. 14:51

Q7) 랭크게임 하다가 싸워서 피드백 남겼어요...
아래와 같은 lol_feedbacks (LOL 피드백 테이블)이 있습니다.
id
user_name
satisfaction_score
feedback_date
1
르탄이
5
2023-03-01
2
배캠이
4
2023-03-02
3
구구이
3
2023-03-01
4
이션이
5
2023-03-03
5
구구이
4
2023-03-04

25. lol_feedbacks 테이블에서 만족도 점수(satisfaction_score)에 따라 피드백을 내림차순으로 정렬하는 쿼리를 작성해주세요!
더보기
SELECT * FROM lol_feedbacks order by satisfaction_score DESC
26. lol_feedbacks 테이블에서 각 유저별로 최신 피드백을 찾는 쿼리를 작성해주세요!
더보기
SELECT user_name, MAX(feedback_date) FROM lol_feedbacks GROUP BY user_name;
27. lol_feedbacks 테이블에만족도 점수가 5점인 피드백의 수를 계산하는 쿼리를 작성해주세요!
더보기
SELECT COUNT(*) FROM lol_feedbacks WHERE satisfaction_score=5
28. lol_feedbacks 테이블에서 가장 많은 피드백을 남긴 상위 3명의 고객을 찾는 쿼리를 작성해주세요!
더보기
SELECT user_name, COUNT(*) AS feedback_count FROM lol_feedbacks GROUP BY user_name ORDER BY feedback_count DESC LIMIT 3
29.  lol_feedbacks 테이블에서 평균 만족도 점수가 가장 높은 날짜를 찾는 쿼리를 작성해주세요!
더보기
SELECT feedback_date FROM lol_feedbacks GROUP BY feedback_date ORDER BY AVG(satisfaction_score) DESC LIMIT 1

핵심 개념 정리 


MAX() 함수란?

MAX() 함수는 SQL에서 그룹 내에서 가장 큰(최대) 값을 찾는 집계 함수
-주로 숫자, 날짜, 문자열 등에 대해 사용할 수 있다.

SELECT MAX(order_date) AS latest_order FROM orders;
-orders 테이블에서 가장 최근 주문 날짜(order_date)를 찾음

 

COUNT() 함수란?

COUNT() 함수는 SQL에서 행(Row) 개수를 세는 집계 함수

-특정 조건을 만족하는 행의 개수를 세는 데 사용

-NULL 값을 제외하거나 포함하여 개수를 셀 수 있음

사용 목적 SQL 예시
전체 행 개수 세기 SELECT COUNT(*) FROM orders;
특정 컬럼 개수 (NULL 제외) SELECT COUNT(price) FROM products;
조건을 만족하는 개수 SELECT COUNT(*) FROM users WHERE age >= 18;
그룹별 개수 세기 SELECT category, COUNT(*) FROM products GROUP BY category;
중복 제거 후 개수 세기 SELECT COUNT(DISTINCT category) FROM products;