아래와 같은 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 id, user_name, satisfaction_score, feedback_date 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 COUNT(*) FROM lol_feedbacks WHERE satisfaction_score = 5;
수를 계산하는걸 생각해야한다. 그래서 count가 들어가게된다.
lol_feedbacks 테이블에서 가장 많은 피드백을 남긴 상위 3명의 고객을 찾는 쿼리를 작성해주세요!
- 정답
- SELECT user_name, COUNT(*) AS feedback_count FROM lol_feedbacks GROUP BY user_name ORDER BY feedback_count DESC LIMIT 3;
group by 카테고리컬럼(원하는컬럼 아무거나)
그리고 상위 3명까지 원하니 이번에는 3으로 확인하면된다.
lol_feedbacks 테이블에서 평균 만족도 점수가 가장 높은 날짜를 찾는 쿼리를 작성해주세요!
- 정답
- SELECT feedback_date FROM lol_feedbacks GROUP BY feedback_date ORDER BY AVG(satisfaction_score) DESC LIMIT 1;
평균에 값을 내림차순하고 맨처음에나온 값이 제일높으니 limit 1
'sql' 카테고리의 다른 글
* count() date_sub() (0) | 2025.01.23 |
---|---|
date_sub date_add (0) | 2025.01.22 |
ORDER BY DESC LIMIT 1 , AVG() (0) | 2025.01.22 |
CURDATE() DATEDIFF() AS (0) | 2025.01.22 |
<> IN (0) | 2025.01.22 |