본문 바로가기

분류 전체보기

(32)
[SQL 코딩테스트] 해커랭크 Advanced Join 정답 SQL Project Planning ⏰ 21:35 와 이건 어떻게 풀어야 하나 백지를 눈앞에 두고 한참 고민했는데, 무작정 조인을 걸 게 아니라 WHERE NOT IN 구문을 이용해 쉽게 풀 수 있었다. 1) END_DATE에 없는 START_DATE를 찾으면 그게 한 프로젝트의 시작일 2) START_DATE에 없는 END_DATE를 찾으면 그게 한 프로젝트의 종료일 3) 두 프로젝트가 같은 프로젝트임을 ROW_NUMBER로 나타내고 묶어주기 WITH A AS ( SELECT START_DATE, ROW_NUMBER() OVER (ORDER BY START_DATE) AS NUM FROM PROJECTS WHERE START_DATE NOT IN (SELECT END_DATE FROM PROJECTS..
[SQL 코딩테스트] 해커랭크 Basic Join 정답 Population Census, African Cities, Average Population of Each Continent ⏰ 3:53 -- Population Census SELECT SUM(C1.POPULATION) FROM CITY C1 JOIN COUNTRY C2 ON C1.COUNTRYCODE = C2.CODE WHERE C2.CONTINENT = 'Asia' -- African Cities SELECT C1.NAME FROM CITY C1 JOIN COUNTRY C2 ON C1.COUNTRYCODE = C2.CODE WHERE C2.CONTINENT = 'Africa' -- Average Population of Each Continent SELECT C2.CONTINENT, FLOOR(..
[SQL 강의] 러닝스푼즈 | SQL과 구글 시트로 배우는 데이터 리터러시 첫 걸음 (5) 보고서 작성 종합 보고서의 내용 및 순서 개요 1) 배경 및 이유 정리 - 만든 사람과 보는 사람의 얼라인을 먼저 정확히 맞추기 위함 - 보고서를 만들기 전에 보고를 받아볼 사람에게 '난 이렇게 이해하고 이런 내용을 정리하려고 하는데, 원하는게 이게 맞아?' 하고 반드시 방향이 맞는지 확인 후 보고서를 만들 것. 2) 참고사항 - 보고서를 작성하며 있었던 특이사항, 변수, 이슈 등에 대해 어떻게 정의하고 시작했는지 등을 사전에 안내 - 화이트데이, 발렌타인데이 등 평소와 다른 요일에 주문수가 많이 나왔을 경우처럼, 특별한 예외사항에 대해 사전 안내 (제외하고 진행하였다 등) - 데이터 집계 기간, 주요항목 (EX. 주문수 중에서도 어떤 조건을 충족한 주문수인지 명확히 정의) - 상황을 모두 알고있는 우리팀원들이 아니..
[SQL 코딩테스트] 해커랭크 Aggregation 정답 FROM CITY 모음 ⏰ 06:48 -- Revising Aggregations - The Count Function SELECT COUNT(ID) FROM CITY WHERE POPULATION > 100000 -- Revising Aggregations - The Sum Function SELECT SUM(POPULATION) FROM CITY WHERE DISTRICT = 'California' -- Revising Aggregations - Averages SELECT AVG(POPULATION) FROM CITY WHERE DISTRICT = 'California' -- Average Population SELECT FLOOR(AVG(POPULATION)) FROM CITY -- Japan P..
[SQL 강의] 러닝스푼즈 | SQL과 구글 시트로 배우는 데이터 리터러시 첫 걸음 (4) 데이터 분석 방법론 시계열분석 * 과거의 상황을 기반으로 올해도 똑같을 것이라고 가정하고 예측하는 것이기 때문에, 올해만의 돌발 이슈 등까지 정확히 예측할 수는 없음 * 불규칙 변동성 : 이 변수를 데이터 분석에 녹여낼 것인가, 빼낼 것인가? 그 기준은 무엇인가 등 고민할 거리가 많아짐 * 체계적 변동성 : 주간 매출은 월요일 아침에 제일 많이 나온다. 등 반복되는 결과값의 경향을 통해 예측할 수 있는 값 코호트 분석 * 코호트 분석 = 세그먼트 분석 + 특정 기간 기준 추가 코호트 분석 활용 예시 - 7월 전까지만 해도 M-4(4개월차)에 감소하는 경향이 두드러졌는데, 그 시기에 우리의 어떤 정책 변화가 있었길래 트렌드가 달라졌을까? EX) 배민의 신규 업체수가 언제 이탈하는지, 언제까지 잔존하는지 보고 싶다. 어떤 요소..
[SQL 코딩테스트] 해커랭크 Advanced Select 정답 The PADS ⏰ 11:26 CONCAT 안에 COUNT 같은걸 넣고, 뒤에서 GROUP BY로 묶어줘도 문제가 없다는 걸 처음 알았다! SELECT CONCAT(NAME, '(', LEFT(OCCUPATION,1), ')') AS A FROM OCCUPATIONS ORDER BY 1 ; SELECT CONCAT('There are a total of ', COUNT(OCCUPATION), ' ', LOWER(OCCUPATION), 's.') AS A FROM OCCUPATIONS GROUP BY OCCUPATION ORDER BY COUNT(OCCUPATION), OCCUPATION ; Type of Triangle ⏰ 7:30 지난번에 리트코드인가에서 금방 풀었던 문제인데, CASE WHEN 구문 ..
[SQL 코딩테스트] 해커랭크 Basic Select 정답 리트코드와 프로그래머스에 있는 SQL 문제를 다 풀고 마지막으로 해커랭크로 넘어왔다. 어떤 블로그에서 해커랭크가 문제는 제일 많지만 질이 좀 떨어지는 것 같다는 평을 봤는데, 어쨌든 그동안 해온 결실이 있게 나에게 문제가 더 쉽게 풀리기만 한다면 더 바랄게 없겠다. Revising the Select Query I, II / Select All / Select By ID / Japanese Cities' Attributes / Japanese Cities' Names ⏰ 03:17 -- Revising the Select Query I SELECT * FROM CITY WHERE POPULATION > 100000 AND COUNTRYCODE = 'USA' -- Revising the Select Que..
[SQL 강의] 러닝스푼즈 | SQL과 구글 시트로 배우는 데이터 리터러시 첫 걸음 (3) 스프레드시트 활용 스프레드시트 주요 함수 다 아는 거지만 현업에서 실제로 자주 쓰는 함수 참고겸 기록! 생각해본 적 없었는데 SQL = 피봇 테이블, JOIN = VLOOKUP ! 가로 방향 : JOIN (열이 늘어남) 세로 방향 : UNION (행이 늘어남) SQL - JOIN 스프레드시트 - VLOOKUP # ITEM_ID와 PRODUCT_NAME 별 총 주문수 및 총 매출액을 구해주세요. SELECT item_id, product_name, count(order_no) as ord_cnt, sum(sales) total_sales FROM `smiling-mark-412804.practice.order_info` LEFT JOIN practice.item USING (ITEM_ID) GROUP BY 1,2 ORDER..