DATA 사전캠프

11일차 SQL 스터디: 랭크게임 하다가 싸워서 피드백 남겼어요…

sawo11 2024. 11. 18. 16:28

아래와 같은 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) latest_feedback_date
FROM lol_feedbacks
GROUP BY user_name;

 

27. lol_feedbacks 테이블에서 만족도 점수가 5점인 피드백의 수를 계산하는 쿼리를 작성해주세요!

SELECT COUNT(satisfaction_score)
FROM lol_feedbacks
WHERE satisfaction_score = 5;

 

28. lol_feedbacks 테이블에서 가장 많은 피드백을 남긴 상위 3명의 고객을 찾는 쿼리를 작성해주세요!

SELECT user_name, 
	COUNT(user_name) count_feedback
FROM lol_feedbacks
GROUP BY user_name
ORDER BY count_feedback DESC
LIMIT 3;

 

29. lol_feedbacks 테이블에서 평균 만족도 점수가 가장 높은 날짜를 찾는 쿼리를 작성해주세요!

SELECT feedback_date, 
       AVG(satisfaction_score) AS avg_satisfaction
FROM lol_feedbacks
GROUP BY feedback_date
ORDER BY avg_satisfaction DESC
LIMIT 1;