SQL
SQL 문법 연습 - 7) 랭크게임 하다가 싸워서 피드백 남겼어요…
김예나
2024. 12. 7. 02:34
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 |
1. lol_feedbacks 테이블에서 만족도 점수(satisfaction_score)에 따라 피드백을 내림차순으로 정렬하는 쿼리를 작성해주세요!
select *
from lol_feedbacks
order by satisfaction_score desc
2. lol_feedbacks 테이블에서 각 유저별로 최신 피드백을 찾는 쿼리를 작성해주세요!
select user_name, max(feedback_date)
from lol_feedbacks
group by user_name
3. lol_feedbacks 테이블에서 만족도 점수가 5점인 피드백의 수를 계산하는 쿼리를 작성해주세요!
select count(*)
from lol_feedbacks
where satisfaction_score = 5
4. lol_feedbacks 테이블에서 가장 많은 피드백을 남긴 상위 3명의 고객을 찾는 쿼리를 작성해주세요!
select user_name,
count(satisfaction_score)
from lol_feedbacks
group by user_name
order by 2 desc limit 3
5. lol_feedbacks 테이블에서 평균 만족도 점수가 가장 높은 날짜를 찾는 쿼리를 작성해주세요!
select feedback_date
from (
select feedback_date, avg(satisfaction_score)
from lol_feedbacks
group by feedback_date
order by 2 desc limit 1
) a
- 배운 것
- limit 는 order by 절에서 특정한 갯수만큼 가져오고 싶을 때 사용함
- 서브쿼리는 반드시 별칭을 써줘야 함. 안써주면 오류남