Positive-Influence-Data
close
프로필 사진

Positive-Influence-Data

  • 분류 전체보기 (31)
    • SQL (8)
    • ML (5)
    • Algorithm (3)
    • Library (5)
    • Analysis (4)
    • Visualization (1)
    • ETC (5)
  • 홈
  • 태그
  • 방명록

[SQL] WITH문으로 임시 테이블 처럼 사용하기

SQL을 공부하다 보면 어느 순간 너무 복잡한 서브쿼리에 정신이 혼미해질 때가 있다.그리고 필자가 회사에서 업무 할 때도 마찬가지로 여러개의 테이블을 조인해야하고 이것들을 재활용하는 과정에서 SQL내에 temp테이블을 만들기 어려울때가 많이 있다.이럴 때 사용하는 강력한 도구, 바로 WITH문, 즉 공통 테이블 식 (CTE) 필자가 사용했을 때 쿼리를 조금 더 가독성있게 작성 할 수 있었고 정리되는 느낌이었다. SQL을 자주 활용한다면 정리해둬도 좋을 듯 하다.이번 포스팅에서 WITH문을 처음 접한 분들도 쉽게 이해할 수 있도록 개념, 문법, 활용 예제까지 깔끔하게 정리해 보려고 한다. 📌 WITH문이란? (CTE: Common Table Expression)WITH문은 복잡한 SQL 쿼리를 임시 테이..

  • format_list_bulleted SQL
  • · 2025. 5. 19.
[SQL] 배송 예정일 예측 성공과 실패

[SQL] 배송 예정일 예측 성공과 실패

❗ 본 포스팅은 Solvesql의 연습문제를 활용합니다. 다양한 SQL 문제를 풀어보고 싶다면 Solvesql를 방문하세요. 이번문제는 배송 예정일 예측 성공과 실패이다. 문제를 살펴보자. 문제를 해석하면 2017년 1월 한달동안 구매 데이터를 추출한다. 배송예정 시점이 배송완료 시점보다 같거나 뒤에 있으면 success 아니면 fail 생각을 조금 해야하는 문제이다. select purchase_date, sum(success) as success, sum(fail) as fail from (select strftime('%Y-%m-%d',order_purchase_timestamp , 'localtime') as purchase_date , case when order_delivered_custome..

  • format_list_bulleted SQL
  • · 2022. 12. 15.
[SQL] 작품이 없는 작가 찾기

[SQL] 작품이 없는 작가 찾기

❗ 본 포스팅은 Solvesql의 연습문제를 활용합니다. 다양한 SQL 문제를 풀어보고 싶다면 Solvesql를 방문하세요. 이번 문제는 작품이 없는 작가 찾기이다. 문제를 해석하면 살아있지않은 작가를 추출한다. 등록된 작품이 없는 작가를 추출한다.(join) artist_id와 name을 출력한다. 보기에는 간단해보이는 문제이지만 필자는 생각보다 오래걸린듯하다. select t1.artist_id, name from ( select artist_id, name from artists where death_year is not null ) as t1 left join ( select distinct (artist_id) as artist_id from artworks_artists ) as t2 on (..

  • format_list_bulleted SQL
  • · 2022. 11. 30.
[SQL] 일별 블로그 방문자 수 집계

[SQL] 일별 블로그 방문자 수 집계

❗ 본 포스팅은 Solvesql의 연습문제를 활용합니다. 다양한 SQL 문제를 풀어보고 싶다면 Solvesql를 방문하세요. 이번문제는 일별 블로그 방문자 수 집계이다. ga데이터를 다뤄보고 싶었던 터라 재밌게 푼 문제이다. 테이블이 제공되니 ga데이터를 구경하거나 만져보고싶으신 분들은 이번문제를 꼭 풀어보시길 바란다. 문제를 해석하면 2021년 8월 2일부터 8월 9일까지의 데이터를 추출한다. 일자별로 Group by가 되어야하므로 추출한 것들에서 기준이 되는 event_date_kst를 group by한다. 방문자수를 세는 문제이므로 중복되어 count되는 것들을 제거한다.(중복제거) 방문일 기준으로 오름차순으로 정렬한다. select event_date_kst as dt, count(distinct..

  • format_list_bulleted SQL
  • · 2022. 11. 29.
[SQL] 버뮤다 삼각지대에 들어가버린 택배

[SQL] 버뮤다 삼각지대에 들어가버린 택배

❗ 본 포스팅은 Solvesql의 연습문제를 활용합니다. 다양한 SQL 문제를 풀어보고 싶다면 Solvesql를 방문하세요. 이번문제는 버뮤다 삼각지대에 들어가버린 택배이다. 문제를 해석하면 order_delivered_carrier_date는 배송이 시작된 시점, order_delivered_customer_date는 배송이 완료된 시점을 가지고 배송이 시작된 시점을 기준으로 2017년 1월과 배송완료가 안된 것들을 추출한다. 배송시작된 시점(’YYYY-MM-DD’)를 Group by하고 카운트 해준다. 배송시작된 시점 기준으로 오름차순 정렬한다. Group by를 알고있으면 쉽게 접근해서 풀 수 있는 문제이다. 아래는 테이블정보이다. select order_delivered_carrier_date a..

  • format_list_bulleted SQL
  • · 2022. 11. 28.
[SQL] 쇼핑몰의 일일 매출액과 ARPPU

[SQL] 쇼핑몰의 일일 매출액과 ARPPU

❗ 본 포스팅은 Solvesql의 연습문제를 활용합니다. 다양한 SQL 문제를 풀어보고 싶다면 Solvesql를 방문하세요. 아래의 문제는쇼핑몰의 일일 매출액과 ARPPU 문제이다. 문제를 해석해보자. 2018년 1월 1일이후의 주문을 기점으로 파악해야한다. 일별로 결제 고객수, 매출액, ARPPU를 구한다. 매출일 기준으로 오름차순 정렬한다. 매출액과 ARPPU는 소수점 둘째자리까지 반올림한다. 테이블의 정의가 위처럼 되어있다. select order_purchase_timestamp as dt, count(distinct (customer_id)) as pu, round(sum(payment_value),2) as revenue_daily, round(sum(payment_value) / count(..

  • format_list_bulleted SQL
  • · 2022. 11. 24.
  • navigate_before
  • 1
  • 2
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (31)
    • SQL (8)
    • ML (5)
    • Algorithm (3)
    • Library (5)
    • Analysis (4)
    • Visualization (1)
    • ETC (5)
인기 글
전체 방문자
오늘
어제
Copyright © DS쟁이 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바