일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- leetcode문풀
- 데이터리안
- 프로그래머스
- 파이썬
- 윈도우함수
- 활성사용자수
- 서브쿼리
- With
- 코테
- sql문풀
- 문풀
- leetcodesql50
- 데이터분석
- SQL
- 약수구하기
- 위키독스
- SQL테스트
- with절
- mysql
- levle1
- 코딩테스트
- SQL고득점KIT
- join
- 프로그래머스문풀
- 리트코드sql
- GROUPBY
- 셀프조인
- leetcode
- 파이썬문풀
- UNION
- Today
- Total
목록mysql (25)
꿈은 데이터분석가, 취미는 계획
출처: [Leetcode - 1070. Product Sales Analysis III] 문제(일부): 제품별로 첫번째로 구매된 해의 정보 조회하기1. WITH 절 + INNER JOIN 1) WITH절에서 제품별 최초로 판매된 해를 추출2) 원본 테이블과 join, product_id와 year가 일치하는 조건# 제품별로 판매된 첫 해를 추출WITH first_year AS ( SELECT product_id, MIN(year) AS first_year FROM sales GROUP BY product_id)# 원본테이블과 join하여 첫해의 정보를 조회SELECT s.product_id ,s.year AS first_year ,s.quantity ..
출처: [Leetcode - SQL50] : 1193. Monthly Transactions링크: https://leetcode.com/problems/monthly-transactions-i/description/?envType=study-plan-v2&envId=top-sql-50문제(일부): 월별, 나라별로 거래수와 거래금액, 승인된 거래수와 거래금액1. CASE WHEN구문 활용0) 월별 나라별로 거래수와 거래금액, "승인된"필터링 조건의 거래수와 거래금액을 같이 조회해야 함1) 월별, 나라별로 보기 위해 group by를 사용2) 전체 거래수와 거래금액은 집계함수를 사용3) CASE WHEN구문으로 승인된 거래수와 거래금액을 각각 조회하는 컬럼 생성 => 거래수를 계산할 때 ..
출처: [Leetcode - SQL50] : 1934 Confirmation Rate링크: https://leetcode.com/problems/confirmation-rate/description/?envType=study-plan-v2&envId=top-sql-50문제(일부): 사용자가 받은 메세지 중 'confirmed'라고 응답한 비율 구하기1. WITH절, 서브쿼리 활용쿼리는 길어지지만 가장 먼저 생각난 단순한 방법1) user_id별로 confirm 메세지의 수 => 서브쿼리2) user_id별로 받은 메세지의 수 => 서브쿼리3) 메인 쿼리에서 user_id별로 confirm메세지의 비율 구하기(confrim / all)4) 위 내용을 WITH절로 임시 테이블 생성, signips테이블과 ..
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 오프라인/온라인 판매 데이터 통합하기링크: https://school.programmers.co.kr/learn/courses/30/lessons/131537문제(일부): 온/오프라인의 판매 테이블을 출력, 오프라인 테이블의 USER_ID는 NULL로 표시UNION ALL로 2개의 테이블 합치기1) 기간을 설정한 온,오프라인의 2개 테이블을 UNION ALL로 합치기2) 오프라인의 경우 USER_ID가 NULL로 나올 수 있게 NULL값으로 채운 컬럼을 생성SELECT DATE_FORMAT(SALES_DATE,'%Y-%m-%d') AS SALES_DATE ,PRODUCT_ID ,USER_ID ..
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 업그레이드 할 수 없는 아이템 구하기링크: https://school.programmers.co.kr/learn/courses/30/lessons/131124문제(일부): 부모, 자식관계를 활용하여 더 이상 업그레이드 할 수 없는 아이템 구하기SELF JOIN과 WITH절 사용하기1) WITH절에서 SELF JOIN, WHERE 절에서 PARENT_ID가 NULL인 값(업그레이드 x)을 추출2) 메인쿼리에서 아이템정보 테이블과 JOIN하여 더 이상 업그레이드 할 수 없는 아이템의 정보 조회WITH NOT_UPGRADE AS( SELECT i1.ITEM_ID FROM ITEM_TREE AS i1 ..
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 그룹별 조건에 맞는 식당 목록 출력하기링크: https://school.programmers.co.kr/learn/courses/30/lessons/299305문제(일부): 대장균 개체의 ID와 자식의 수를 출력하는 쿼리 작성, 자식이 없다면 0으로 출력1. SELF JOIN 사용하기1) 동일한 테이블을 다른 별칭을 주어서 사용하는 SELF JOIN사용2) JOIN 조건으로 e1테이블의 ID = e2테이블의 PARENT_ID, 해당 ID를 부모로 가지는 자식을 JOIN3) LEFT를 사용하여 자식이 없어도 조회되도록 함SELECT e1.ID, COUNT(e2.PARENT_ID) AS CHILD_COUNTFROM ECOLI_DATA..