데이터 분석_그로스 해킹
자세히보기

SQL/Programmers 13

Programmers - 즐겨찾기가 가장 많은 식당 정보 출력하기 (77%)

참고 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/131123 C> Q> H> - 즐겨 찾기가 가장 많은 식당의 타입과 좋아요 갯수를 서브 쿼리로 연결하여 씀 L&U> - 해당 쿼리를 통해 가장 많은 갯수가 많은 카테고리를 연결할 때 유용하게 쓰일 수 있을 것 같다. U: 가장 높은 평균 값에서 평균을 빼는 산술식에서 잘 사용할 수 있을 것 같다. with t1 as ( SELECT FOOD_TYPE , MAX(FAVORITES) AS FAVORITES FROM REST_INFO GROUP BY FOOD_TYPE ) select a.rest_id , a.favorites , t1.favorites , a.favorites - t1.fav..

SQL/Programmers 2023.02.19

Programmers - 우유와 요거트 담긴 장바구니 (70%)

참고링크 : https://school.programmers.co.kr/learn/courses/30/lessons/62284 https://growthhacker-hyounsub.tistory.com/manage/newpost/23 https://growthhacker-hyounsub.tistory.com/manage/newpost/25 https://growthhacker-hyounsub.tistory.com/manage/newpost/23 growthhacker-hyounsub.tistory.com C> Q> H> - 열 방향으로 연속적인 조건일 때, 해결할 수 있는 방안에 대한 고민 L> - Where 조건과 추가적인 In 조건을 활용하여서 중복 조건을 막을 수 있었다. A> SELECT cart..

SQL/Programmers 2023.02.19

Programmers - 헤비 유저가 소유한 장소 (69%)

참고 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/77487 C> Q> H> - Having 함수를 사용 - where exists 함수를 사용하여 연산량을 줄임 L&U> - Having 함수와 exists 함수를 같이 써서 연산량을 줄인 것이 스마트했음 U : userid in 함수와 exists 함수 사이의 어떤점이 더 활용 가치가 높을까? A> SELECT ID, NAME, HOST_ID FROM PLACES AS T0 WHERE EXISTS ( SELECT HOST_ID FROM PLACES AS T1 WHERE T0.HOST_ID = T1.HOST_ID GROUP BY 1 HAVING COUNT(ID) > 1 ) GROUP BY..

SQL/Programmers 2023.02.19

Programmers - 주문량이 많은 아이스크림들 조회하기 (63%)

참고 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/133027 C> Q> H> - 조인한 이후의 함수를 Order by에 적용 L> - 연산량을 줄이기 위해 쓰는 방법에 대해서 다른 시각으로 바라볼 수 있어서 참신했다. - Top3 Userid 추출 시 활용할 수 있을 것 같다. A> SELECT T1.FLAVOR FROM FIRST_HALF AS T1 LEFT JOIN JULY AS T2 ON T1.FLAVOR = T2.FLAVOR GROUP BY 1 ORDER BY (SUM(T1.TOTAL_ORDER)+SUM(T2.TOTAL_ORDER)) DESC LIMIT 3

SQL/Programmers 2023.02.19

Programmers - 그룹별 조건에 맞는 식당 목록 출력하기 (56%)

참고 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/131124 C> Q> H> - 리뷰를 가장 많이 적은 멤버를 정의하는 임시 테이블이 필요 count (distinct review_id) - 조인한 이후, member_id in 조건 적용하기 L> - 내가 불러올 테이블을 먼저 정의하고, 그 이후에 where member_id 조건 적용하는 것은 매우 유용 A> with t0 as ( select member_id from rest_review as t0 group by 1 order by count(distinct review_id) desc, review_date asc limit 1 ) SELECT t2.member_name as..

SQL/Programmers 2023.02.19

Programmers - 상품을 구매한 회원 비율 구하기(38%)

링크 : https://school.programmers.co.kr/learn/courses/30/lessons/131534 C> Q> H> - Userid in 조건 적용 - cross join 함수 적용 L&U> - 내가 불러올 유저수를 위 함수에 먼저 구해두고, 그 유저수를 cross join 함수로 쉽게 불러옴 - 결제 유저수 / 회원 가입 수 U: 결제 전환율 구할 때 유용하게 쓸 수 있을 것 같다. A> WITH T1 AS ( SELECT COUNT(USER_ID) AS USERS FROM USER_INFO WHERE YEAR(JOINED) = 2021 ) SELECT YEAR(sales_date) as year , MONTH(sales_date) as month , COUNT(DISTINCT..

SQL/Programmers 2023.02.19

Programmers - 대여 기록이 존재하는 자동차 리스트 구하기(71%)

참고 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/157341 https://growthhacker-hyounsub.tistory.com/29 https://growthhacker-hyounsub.tistory.com/manage/newpost/25 C> Q> H> - in 조건 활용 L> - History를 갖고 있는 값을 선별할 때는 서브 쿼리를 잘 활용하면 시간을 줄일 수 있을 것 같다 A> SELECT DISTINCT CAR_ID FROM CAR_RENTAL_COMPANY_CAR WHERE CAR_TYPE = "세단" AND CAR_ID IN (SELECT CAR_ID FROM CAR_RENTAL_COMPANY_RENTAL_HIS..

SQL/Programmers 2023.02.19