MySQL 실습 | 년, 월, 성별 별 상품 구매 회원 수 구하기, 서울에 위치한 식당 목록 출력

2024. 12. 16. 11:51·SQL

문제 1.  년, 월, 성별 별 상품 구매 회원 수 구하기

USER_INFO 테이블과 ONLINE_SALE 테이블에서 년, 월, 성별 별로 상품을 구매한 회원수를 집계하는 SQL문을 작성해주세요. 결과는 년, 월, 성별을 기준으로 오름차순 정렬해주세요. 이때, 성별 정보가 없는 경우 결과에서 제외해주세요.

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

💡 문제 풀이 

SELECT YEAR(o.SALES_DATE) AS YEAR
    ,MONTH(o.SALES_DATE) AS MONTH
    ,u.GENDER
    ,COUNT(distinct u.user_id) AS USERS
FROM USER_INFO u
JOIN ONLINE_SALE o
ON u.user_id = o.user_id
WHERE GENDER IS NOT NULL
GROUP BY 1,2,3
ORDER BY 1,2,3;

 

오답노트

  • count(u.user_id)가 아니라 count(distinct u.user_id)를 해야 함. 문제에 보면 '동일한 날짜, 회원 ID, 상품 ID 조합에 대해서는 하나의 판매 데이터만 존재합니다.'라는 말이 있고 그 말인 즉슨 한 회원이 같은 날 여러개의 상품을 구매하는 경우 여러 행으로 나타난다는 뜻이기 때문에 구매를 한 회원 수를 구하는 이 문제에서는 distinct 처리 해야 함.

 


문제 2.  서울에 위치한 식당 목록 출력하기

REST_INFO와 REST_REVIEW 테이블에서 서울에 위치한 식당들의 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를 조회하는 SQL문을 작성해주세요. 이때 리뷰 평균점수는 소수점 세 번째 자리에서 반올림 해주시고 결과는 평균점수를 기준으로 내림차순 정렬해주시고, 평균점수가 같다면 즐겨찾기수를 기준으로 내림차순 정렬해주세요.

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

💡 문제 풀이 

SELECT i.REST_ID, 
    i.REST_NAME, 
    i.FOOD_TYPE, 
    i.FAVORITES, 
    i.ADDRESS, 
    ROUND(AVG(r.REVIEW_SCORE),2) AS SCORE
FROM REST_INFO i
JOIN REST_REVIEW r
ON i.REST_ID = r.REST_ID
WHERE SUBSTR(ADDRESS,1,2)='서울'
GROUP BY i.REST_ID
ORDER BY 6 desc, 4 desc;

 

  • -- 조회: 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수
    -- 조인키: rest_id
    -- 조건: 서울에 위치한 식당들
    -- 표현:  리뷰 평균점수는 소수점 세 번째 자리에서 반올림
    -- 정렬: 평균점수 기준 내림차순, 즐겨찾기수 내림차순

 

'SQL' 카테고리의 다른 글
  • MySQL 실습 | 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기
  • MySQL 실습 | 자동차 대여 기록에서 장기/단기 대여 구분, 자동차 평균 대여 기간, 헤비 유저가 소유한 장소, 우유와 요거트가 담긴 장바구니
  • SQL 실습 | CASE문, JOIN, MAX 연산자 등
  • SQL 실습 | 없어진 기록 찾기, 과일로 만든 아이스크림 고르기, 재구매가 일어난 상품과 회원 리스트, 최댓값 구하기, 조건에 맞는 사용자 정보 조회
초담
초담
4년차 마케터입니다
  • 초담
    그로스마케터의 기록
    초담
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (117)
      • Data Analytics Project (3)
      • SQL (55)
      • Python (43)
      • GA4 (0)
      • Tableau (8)
      • 아티클 스터디 (7)
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
초담
MySQL 실습 | 년, 월, 성별 별 상품 구매 회원 수 구하기, 서울에 위치한 식당 목록 출력
상단으로

티스토리툴바