| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- regexp
- 취준
- funnel
- pandas
- rank
- 데이터리안
- SQL
- 누적합
- 신입 데이터분석가
- MYSQL
- 프로그래머스
- 리텐션
- Datarian
- LEFTJOIN
- 서브쿼리
- dense_rank
- advent of sql
- 순위함수
- SolveSQL
- python
- 그로스해킹
- 퍼널분석
- 독서
- row_number
- 윈도우 함수
- Retention
- leetcode
- 린분석
- 윈도우함수
- 데이터분석
- Today
- Total
목록SQL/solvesql (29)
데이터 분석
게임 평점 예측하기 1 문제 조건1. 2015년 이후에 발매한 게임 중 누락된 평점 데이터를 대체2. 같은 장르를 가진 전체 게임의 평균 평점과 평점을 남긴 평균 평론가/사용자 수를 사용해 누락된 정보를 대체할 것3. 평균 평점은 반올림하여 셋째 자리까지, 평론가/사용자 수는 올림 하여 자연수로 표현 Solution ✅ MySQL/* 1) 2015년 이후 발매한 게임 >> 출시 연도 >= 2015 2) 누락된 평점 정보가 있는 게임만을 출력 3) 평점 평균은 셋째 자리까지 표현, 사용자 수는 올림하여 자연수 표현*/WITH sub AS ( -- 대체값은 전체 게임 대상 SELECT genre_id , ROUND(AVG(critic_score), 3) AS critic_score ..
온라인 쇼핑몰의 월 별 매출액 집계 문제 조건1. 주문 정보 테이블과 주문 상세 정보 테이블을 조합하여 월 별 매출액 집계2. 취소 주문을 제외한 주문 금액의 합계, 취소 주문의 금액 합계, 총 합계를 포함하는 쿼리 작성3. YYYY-MM 형식의 'order_month' 컬럼의 값으로 오름차순 정렬 Solution ✅ SQLiteSELECT strftime('%Y-%m', o.order_date) as order_month, sum(case when o.order_id not like 'C%' then oi.price * oi.quantity else 0 end) as ordered_amount, sum(case when o.order_id like 'C%' then oi.pric..
기증품 비율 계산하기 문제 조건1. 소장품 중 부분 기증품을 포함한 기증품의 비율을 계산2. 백분율로 계산하며, 소수점 아래 넷째 자리에서 반올림 해 셋째 자리까지 표시 Solution WITH T1 AS ( -- 비추 SELECT credit, CASE WHEN LOWER(credit) LIKE '%gift%' THEN 1 ELSE 0 END AS is_gift FROM artworks ) SELECT ROUND(AVG(is_gift)*100, 3) as ratio FROM T1 credit 컬럼에 'gift'라는 단어의 등장 여부 확인 → CASE 문으로 이진값 변환CTE를 생성하고 AVG 함수를 통해 기증품 비율을 출력 피드백SELECT ROUND(..
게임을 10개 이상 발매한 퍼블리셔 찾기 문제 조건1. 퍼블리셔로 참여한 게임이 10개 이상인 회사의 이름 출력 Solution# (1)SELECT c.nameFROM games g INNER JOIN companies c ON g.publisher_id = c.company_idGROUP BY g.publisher_idHAVING COUNT(*) >= 10# (2)/* 다중행 서브쿼리를 활용SELECT nameFROM companiesWHERE company_id IN ( SELECT publisher_id FROM games GROUP BY publisher_id HAVING COUNT(*) >= 10)*/# (3)/* (2)와 유사하지만, IN절이 아닌 JOINWITH step1 AS ( ..
언더스코어(_)가 포함되지 않은 데이터 찾기 문제 조건 1. page_location 컬럼의 값이 '_'를 포함하지 않는 경우만 출력2. 중복되는 값은 한 번만 나오도록 하며 오름차순으로 정렬3. 결과는 page_location만 출력 Solution (1)-- SQLiteSELECT DISTINCT page_locationFROM gaWHERE page_location NOT LIKE '%\_%' ESCAPE '\'ORDER BY 1-- MySQL, PostgreSQLSELECT DISTINCT page_locationFROM gaWHERE page_location NOT LIKE '%\_%'ORDER BY 1 NOT LIKE 절을 사용해 '_' 를 포함하지 않는 값을 찾는다.'_'는 LIKE 절에서..
지자체별 따릉이 정류소 개수 세기 문제 조건1. 소속 지자체별 따릉이 정류소 개수를 집계2. 정류소의 개수 컬럼 기준 오름차순 정렬SolutionSELECT local , COUNT(station_id) as num_stationsFROM stationGROUP BY localORDER BY 2 ✔️ 0206 복습
제목이 모음으로 끝나지 않는 영화 문제 조건1. 17세 미만 학생이 DVD 대여점에 혼자와서는 대여할 수 없는 영화2. 제목이 모음(’A’, ‘E’, ‘I’, ‘O’, ‘U’)로 끝나지 않는 영화3. 조건에 부합하는 영화 제목을 출력 Solution SELECT title -- title 컬럼은 모두 대문자, 그렇지 않은 경우를 대비!FROM filmWHERE rating IN ('R','NC-17') AND SUBSTR(UPPER(title), -1) NOT IN ('A', 'E', 'I', 'O', 'U') /* 문자열 함수가 기억이 안난다?SELECT titleFROM filmWHERE rating IN ('R', 'NC-17') AND title NOT LIKE '%A' AND tit..
펭귄 조사하기 문제 조건1. 서식지 별 고유한 펭귄 종과 서식지를 출력2. 서식지 순으로 오름차순, 서식지가 같은 서로 다른 펭귄 종 사이에서는 펭귄 종 이름 순으로 오름차순3. 펭귄의 종, 펭귄 서식지 출력 SolutionSELECT DISTINCT species , island FROM penguinsORDER BY 2, 1피드백 '서식지 별'이라는 조건에 집중한 나머지, 아래와 같이 쿼리를 작성했다.SELECT species , island FROM penguinsGROUP BY islandORDER BY 2, 1 하지만 SQLite에서 'GROUP BY'는 집계 함수가 없는 경우, 그룹 내 첫 번째로 만나는 값만 반환하기 때문에 위 쿼리는 적절하지 않다. 이로 인해 원하는 (spec..
11월 30일부로 5개월 간의 인턴 생활을 마치게 되었다.2024년이 어느덧 끝나가는 이 시점에서, 2025년을 맞이하기 전 여러가지 생각들이 머리를 스쳤다. 작년 2학기를 마지막으로 대학 생활을 마무리한 뒤, 벌써 1년이라는 시간이 흘렀다는 것이 믿기지 않는다.올해 1월부터 3월까지는 삼정회계법인에서 데이터 가공 업무 인턴으로 근무했고, 4월에는 2주간 GA 데이터 분석 실무자 양성과정을 수료했다. 이후 6월부터 11월까지는 여의도의 한 AI 스타트업에서 디지털 마케팅 인턴으로 일했다. 이렇게 다양한 경험을 쌓았지만, 여전히 내가 하고 싶은 데이터 분석 직무를 직접적으로 경험하지 못했다는 아쉬움이 남았다. 일을 하면서도 신입 데이터 분석가로서의 취업을 향한 갈망을 놓지 않았고, SQL 실력을 유지하기 ..