[solvesql]MySQL_1 (Lv_2)

2025. 10. 11. 15:42·코딩 테스트/02. SQL

1. 쇼핑몰의 일일 매출액

SELECT
  DATE(o.order_purchase_timestamp) AS dt,
  ROUND(SUM(p.payment_value), 2)   AS revenue_daily
FROM olist_orders_dataset AS o
JOIN olist_order_payments_dataset AS p
  USING (order_id)
WHERE o.order_purchase_timestamp >= '2018-01-01' 
GROUP BY dt
ORDER BY dt;

POINT!

USING : 두 테이블에 완전히 동일한 컬럼명이 있고, 그 컬럼으로만 조인할 때 간결하게 사용 가능

 

  • ON을 쓰면 결과 테이블에 o.order_id와 p.order_id 두 컬럼이 둘 다 남는다
  • USING을 쓰면 order_id가 한 번만 표시된다
    👉 같은 이름이므로 MySQL이 자동으로 병합해줍니다.

2. 점검이 필요한 자전거 찾기

 

SELECT bike_id 
FROM rental_history
WHERE DATE_FORMAT(rent_at,'%Y-%m') = '2021-01'
GROUP BY bike_id
HAVING SUM(distance) >= 50000​

3. 레스토랑의 대목

SELECT *
FROM tips
WHERE day IN (
	SELECT 
  		day
	FROM tips
	GROUP BY day
	HAVING SUM(total_bill) >= 1500
    )

4. 레스토랑의 요일별 VIP

WITH ranked AS (
  SELECT
    *,
    RANK() OVER (PARTITION BY day ORDER BY total_bill DESC) AS rn
  FROM tips 
)
SELECT total_bill, tip, sex, smoker, day, time, size
FROM ranked
WHERE rn = 1
ORDER BY day;

POINT!

MySQL에서는 * EXCEPT(col) 이라는 문법이 없기 때문에 최종 결과에 나올 컬럼을 직접 나열해야한다

요일별 가장 높은 금액의 결제 내역을 출력하는 조건

👉  가장 높은 금액이 동일할 수 있다는 가정으로 정보의 유실을 막기위해 RANK 함수를 사용했습니다.

 

'코딩 테스트 > 02. SQL' 카테고리의 다른 글

[solvesql_Lv2] 제목이 모음으로 끝나지 않는 영화  (0) 2025.10.12
[solvesql_Lv2] 다음날 서울숲의 미세먼지 농도 나쁨  (0) 2025.10.11
[프로그래머스]Oracle SQL_7(Lv4)  (0) 2025.10.04
[프로그래머스]Oracle SQL_6(Lv4)/UNION ALL과 CONNECT BY  (0) 2025.10.03
[프로그래머스]Oracle SQL_5(Lv4)  (0) 2025.10.02
'코딩 테스트/02. SQL' 카테고리의 다른 글
  • [solvesql_Lv2] 제목이 모음으로 끝나지 않는 영화
  • [solvesql_Lv2] 다음날 서울숲의 미세먼지 농도 나쁨
  • [프로그래머스]Oracle SQL_7(Lv4)
  • [프로그래머스]Oracle SQL_6(Lv4)/UNION ALL과 CONNECT BY
Growth DA Log
Growth DA Log
Growth DA Log 님의 블로그 입니다.
  • Growth DA Log
    Growth DA Log님의 블로그
    Growth DA Log
  • 전체
    오늘
    어제
    • 분류 전체보기 (125)
      • TIS_COMPANY (6)
      • 코딩 테스트 (61)
        • 01. Python (3)
        • 02. SQL (58)
      • 데이터 분석 (53)
        • 01. BigQuery (9)
        • 02. GA4 (1)
        • 02-1. GA4를 더 잘 다루기 위한 마케팅 개.. (5)
        • 03. streamlit (5)
        • 04. Git (12)
        • 05. 데이터 엔지니어링 (3)
        • 06. 데이터 모델링 (11)
        • 07. Excel (0)
        • 08. Tableau (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Reset
    이행성
    쿼리테스트
    ROW_NUMBER
    tableau
    윈도우함수
    코딩테스트
    revert
    cross_join
    프로그래머스
    streamlit
    solvesql
    코드잇스프린트후기
    rank
    git
    AARRR
    DENSE_RANK
    코테
    SQL
    tableaubootcamp
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Growth DA Log
[solvesql]MySQL_1 (Lv_2)
상단으로

티스토리툴바