분류 전체보기 (53) 썸네일형 리스트형 컨버티드: 마음을 훔치는 데이터분석의 기술 (1) 책을 좀 진득하게 읽고 싶은 마음 + 다른 사람들과 함께 읽고 싶은 마음에 데이터넥스트레벨챌린지 2기를 함께하게 됐다! 3주동안 읽어볼 책은 '컨버티드: 마음을 훔치는 데이터분석의 기술'이다. 첫번째 주인 이번 주 과제는 Part1 - ch 2,3,5 읽고 포스팅하기! ch 1,4는 왜 포함하지 않은걸까? 진도가 빨리 나가는 점은 좋다 하루에 한 챕터씩 읽는 걸 목표로 하고 챕더당 읽고 난 후 노트에 요약을 남겨봤다. 나의 말로 적어보니까 기억에도 더 오래 남고 내가 얼마나 이해했는지 알 수 있어서 좋았다 단점은 약간 귀찮고.. 자기전에 책을 읽는 날에는 침대위에서 노트 끄적이는 게 조금 불편한 정도? Part.1 대화 (어떻게 인간의 욕망을 읽을 것인가) ch2. 쉽고 단순하게 시작하라 소제목부터 마음.. [PostgreSQL] (Medium) Supercloud Customer [Microsoft SQL Interview Question] 문제: https://datalemur.com/questions/supercloud-customer 나의 풀이 SELECT customer_id FROM customer_contracts JOIN products USING (product_id) GROUP BY customer_id HAVING COUNT(DISTINCT product_category) = ( SELECT COUNT(DISTINCT product_category) FROM products) ORDER BY customer_id; 못 풀 수도 있겠는데? 싶었는데 풀어서 기분 조타 ^^ 위드문을 사용한 솔루션 쿼리 WITH supercloud AS ( SELECT customers.customer_id, COUNT(DISTINCT produ.. [PostgreSQL] (Medium) Signup Activation Rate [TikTok SQL Interview Question] 문제: https://datalemur.com/questions/signup-confirmation-rate 풀이 SELECT ROUND(COUNT( CASE WHEN email_id IN ( SELECT email_id FROM texts WHERE signup_action = 'Confirmed') THEN 1 END) ::decimal / COUNT(email_id) ::decimal, 2) FROM emails; 1. 마이에스큐엘과 딱 하나 다른 부분! 바로 데이터 타입 지정하기 (:: decimal) '타입 캐스팅'이라고 한다고 한다 풀이에는 카운트 마다 붙여줬는데 둘 중에 한 군데에만 붙여줘도 똑같이 작동한다 찾아보니 count returns type bigint in Postgresql 라고.. [PostgreSQL] (Medium) Top 5 Artists [Spotify SQL Interview Question] 문제: https://datalemur.com/questions/top-fans-rank 나의 풀이 WITH tb AS ( SELECT artist_name , song_id , COUNT(*) AS cnt FROM artists a JOIN songs s USING (artist_id) JOIN global_song_rank g USING (song_id) WHERE rank 정규화 VS 표준화, 로그변환 내가 보기위한 챗지피티 답변 모음 1. 정규화 (Normalization): 목적: 변수들 간의 상대적인 중요도를 균형있게 만들기 위해 사용됩니다. 적용 대상: 주로 정규 분포를 따르는 데이터에 적용됩니다. 적용 상황: 데이터가 정규 분포를 따르고 있으며, 이를 유지하고자 할 때. 변수들 간의 상대적인 중요도를 유지하면서 스케일을 맞추고자 할 때. 적용 기준: 데이터의 분포가 대략적으로 정규 분포에 가깝거나, 이상치가 적은 경우. 변수들 간의 범위가 크게 차이 나지 않을 때. 스케일 조정: 변수 값을 [0, 1] 또는 [-1, 1] 범위로 변환합니다. 예시: 이미지 픽셀 값: 이미지의 픽셀 값은 일반적으로 0과 255 사이의 범위에 있으므로 Min-Max Scaling을 통해 [0, 1]로 정규화할 수 .. [PostgreSQL] (Medium) Highest-Grossing Items [Amazon SQL Interview Question] 문제: https://datalemur.com/questions/sql-highest-grossing 내가 짠 쿼리 WITH sub AS ( SELECT category , product , total_spend , ROW_NUMBER() OVER (PARTITION BY category ORDER BY total_spend DESC) AS rnum FROM( SELECT category , product , SUM(spend) AS total_spend FROM product_spend WHERE EXTRACT (YEAR FROM transaction_date) = 2022 GROUP BY 1, 2 ORDER BY 1, 3) tb) SELECT category , product , total_spend.. [PostgreSQL] (Medium) Tweets' Rolling Averages [Twitter SQL Interview Question] 문제: https://datalemur.com/questions/rolling-average-tweets 나의 오답 풀이 SELECT user_id , tweet_date , ROUND((tweet_count + COALESCE(lag1, 0) + COALESCE(lag2, 0)) / 3.0, 2) AS rolling_avg_3d FROM ( SELECT * , lag(tweet_count, 1) OVER (PARTITION BY user_id ORDER BY tweet_date) AS lag1 , lag(tweet_count, 2) OVER (PARTITION BY user_id ORDER BY tweet_date) AS lag2 FROM tweets) sub; 1. mysql에서 IFNULL 함수를 .. [PostgreSQL] (Medium) Sending vs. Opening Snaps [Snapchat SQL Interview Question] SELECT age_bucket , ROUND(sending/(sending+opening) * 100.0, 2) AS send_perc , ROUND(opening/(sending+opening) * 100.0, 2) AS open_perc FROM ( SELECT age_bucket , SUM(CASE WHEN activity_type = 'open' THEN time_spent ELSE 0 END) AS opening , SUM(CASE WHEN activity_type = 'send' THEN time_spent ELSE 0 END) AS sending FROM activities JOIN age_breakdown USING (user_id) WHERE activity_type IN ('open'.. 이전 1 2 3 4 5 6 7 다음