SQL 7번 문제 풀이

다롱·2025년 2월 11일

문제 풀이 내용

  1. lol_feedbacks 테이블에서 만족도 점수(satisfaction_score)에 따라 피드백을 내림차순으로 정렬하는 쿼리 찾기 (order by)
Select user_name, satisfation_score, feedback_date 
From lol_feedback
Order by satisfation_score DESC;
  1. lol_feedbacks 테이블에서 각 유저별로 최신 피드백을 찾는 쿼리 (MAX, Group by)
Select user_name, Max(feedback_date) 
From lol_feedback
Group by user_name;
  1. lol_feedbacks 테이블에서 만족도 점수가 5점인 피드백의 수를 계산하는 쿼리 (where)
Select Count(*)
From lol_feedback
where satisfaction_score=5;
  1. lol_feedbacks 테이블에서 가장 많은 피드백을 남긴 상위 3명의 고객 찾는 쿼리
    (group by, order by)
Select user_name, count(*) 
From lol_feedback
Group by user_name
Order by feedback_count DESC LIMIT 3;
  1. lol_feedbacks 테이블에서 평균 만족도 점수가 가장 높은 날짜 찾는 쿼리
    (group by, order by , 수식계산)
Select Satisfaction_score, feedback_date count(*) 
From lol_feedback
Group by feedback_date
Order by AVG(Satisfaction_score) DESC LIMIT 1;

체크해야 할 쿼리문

count(*) # 전체 데이터 숫자 
Order By # 기록 내용(레코드)에 오름차순으로 정렬 
Group by # 특정 칼럼 기준으로 함수를 사용 하여 숫자 데이터를 추출 할 때 사용 
         # 건수(count), 합계(sum), 평균(avg) 등 집계성 데이터에 사용 가능  
Order by A DEC LIMIT b # A의 조건에서 데이터 b개(건수)를 조회 

까먹지 말아야 할 것

GROUP BY 절 하단에 ORDER BY 절을 사용할 수 있으며, GROUP BY 절과 함께 ORDER BY 절을 사용할 경우 ORDER BY 절에서 집계 함수 사용 가능 (출처)

문제를 풀면서 회고

Order by에 대한 개념을 어느 정도 이해를 하게 되었다. 중간중간 이해가 되지 않는 부분도 있지만,
다시 강의를 들으며 체크를 하고 있다. 하지만 평균 수식 (AVG)를 배치하는 부분은 아직까진 헷갈려 다시 이해를 하며 외워야 겠다.

profile
새로운 길로 다시 가고자 하는 잉여인간 https://dadakimmm.tistory.com/

0개의 댓글