내일배움캠프 STEP 2. 속도에 맞춰 나아가기/SQL 기초

7. 랭크게임 하다가 싸워서 피드백 남겼어요..

김호진02 2024. 10. 14. 17:21

아래와 같은 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)에 따라 피드백을 내림차순으로 정렬하는 쿼리를 작성해주세요!

 

조건 1. 만족도 점수에 따라 내림차순으로 정렬(ORDER BY)

답)

SELECT *

FROM lol_feedbacks

ORDER BY satisfaction_score DESC

 

 

26번 문제

 - lol_feedbacks 테이블에서 각 유저별로 최신 피드백을 찾는 쿼리를 작성해주세요!

 

조건 1. 각 유저별(GROUP BY) 최신 피드백(MAX() 함수) 

답)

SELECT MAX(feedback_date)

FROM lol_feedbacks

GROUP BY user_name;

 

27번 문제

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

 

조건 1. 만족도 점수가 5점인(WHERE 절) 피드백의 수(COUNT()함수)

답)

SELECT COUNT(satisfaction_score)

FROM lol_feedbacks

WHERE satisfaction_score=5;

 

28번 문제

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

 

조건 1. 가장 많은 피드백을 남긴( 유저별 (GROUP BY), 피드백 수 (COUNT()함수) )

조건 2. 위 조건에 맞는 상위 3명(ORDER BY,LIMIT 3)

답)

SELECT user_name,COUNT(user_name)

FROM lol_feedbacks

GROUP BY user_name

ORDER BY COUNT(user_name)

LIMIT 3;

 

29번 문제

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

 

조건 1. 날짜별 평균 만족도 점수가 가장 높은 날짜

답)

SELECT feedback_date, AVG(satisfaction_score) AS avg_satisfaction

FROM lol_feedbacks

GROUP BY feedback_date

ORDER BY avg_satisfaction DESC

LIMIT 1;