아래와 같은 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 |
lol_feedbacks
테이블에서 만족도 점수(satisfaction_score)에 따라 피드백을 내림차순으로 정렬하는 쿼리를 작성해주세요!SELECT *
FROM lol_feedbacks
ORDER BY satisfaction_score DESC
lol_feedbacks
테이블에서 각 유저별로 최신 피드백을 찾는 쿼리를 작성해주세요!SELECT user_name,
MAX(feedback_date)
FROM lol_feedbacks
GROUP BY user_name
lol_feedbacks
테이블에서 만족도 점수가 5점인 피드백의 수를 계산하는 쿼리를 작성해주세요!SELECT SUM(satisfaction_score = 5)
FROM lol_feedbacks
SUM 함수를 사용할 경우 일부 엔진에서만 동작할 수 있어 COUNT(*)
를 사용하는 게 더 안정적!
SELECT COUNT(*)
FROM lol_feedbacks
WHERE satisfaction_score = 5
lol_feedbacks
테이블에서 가장 많은 피드백을 남긴 상위 3명의 고객을 찾는 쿼리를 작성해주세요!이 문제는 잘 모르겠어서 고민하다 정답을 확인했다🥲
SELECT user_name,
COUNT(*) AS feedback_count -- 각 유저가 남긴 피드백 개수
FROM lol_feedbacks
GROUP BY user_name -- 각 유저별 피드백 개수 계산
ORDER BY feedback_count DESC -- 가장 많은 피드백을 남긴 순서대로 정렬
LIMIT 3 -- 상위 3명 선택
lol_feedbacks
테이블에서 평균 만족도 점수가 가장 높은 날짜를 찾는 쿼리를 작성해주세요!28번 문제를 참고해서 변형한 것 같아 쉽게 작성✨
SELECT feedback_date,
AVG(satisfaction_score) AS avg_satisfaction
FROM lol_feedbacks
GROUP BY feedback_date
ORDER BY avg_satisfaction DESC
LIMIT 1