2025/05 31

[LeetCode - Pandas] (Medium) 177. Nth Highest Salary

Table: Employee+-------------+------+| Column Name | Type |+-------------+------+| id | int || salary | int |+-------------+------+id는 이 테이블의 기본 키(고유한 값을 갖는 열)입니다.이 테이블의 각 행은 직원의 급여에 대한 정보를 포함하고 있습니다. 문제Employee 테이블에서 n번째로 높은 서로 다른 급여를 찾는 솔루션을 작성하세요.서로 다른 급여가 n개보다 적으면 null을 반환하세요.결과 형식은 다음 예시와 같습니다.Example 1:Input: Employee table:+----+--------+| id | salary |+----+--------+| 1 ..

[LeetCode - Pandas] (Medium) 176. Second Highest Salary

Table: Employee+-------------+------+| Column Name | Type |+-------------+------+| id | int || salary | int |+-------------+------+id는 이 테이블의 기본 키(고유한 값을 갖는 열)입니다.이 테이블의 각 행은 직원의 급여에 대한 정보를 포함하고 있습니다. 문제Employee 테이블에서 두 번째로 높은 서로 다른 급여를 찾는 솔루션을 작성하세요.두 번째로 높은 급여가 없으면 null을 반환하세요 (Pandas에서는 None을 반환하세요).결과 형식은 다음 예시와 같습니다.Example 1:Input: Employee table:+----+--------+| id | salar..

[StrataScratch - SQL] (Medium) Acceptance Rate By Date

문제친구 요청이 전송된 각 날짜에 대한 친구 수락률을 계산하세요. 요청은 action = sent일 때 전송된 것으로 간주되며, action = accepted일 때 수락된 것으로 간주됩니다. 요청이 수락되지 않은 경우, 해당 요청의 수락 기록은 테이블에 존재하지 않습니다. 출력은 요청이 전송된 날짜 중에서 적어도 하나 이상의 요청이 수락된 날짜만 포함해야 하며, 수락률은 해당 날짜에 대해서만 계산될 수 있습니다. 결과는 가장 이른 날짜부터 가장 늦은 날짜 순으로 정렬되어야 합니다. 테이블설명 예상결과 ✏️ 풀이WITH sender AS ( SELECT * FROM fb_friend_requests WHERE action = 'sent'), receiver AS ( SELECT *..

[StrataScratch - SQL] (Medium) Premium vs Freemium

문제날짜별로 유료 사용자와 비유료 사용자의 총 다운로드 수를 구하세요. 비유료 사용자가 유료 사용자보다 더 많은 다운로드를 한 기록만 포함하세요. 출력은 가장 이른 날짜부터 정렬되어야 하며, 세 개의 열인 날짜, 비유료 다운로드 수, 유료 다운로드 수를 포함해야 합니다. 힌트: Oracle에서는 날짜 열을 참조할 때 "date"를 사용하세요 (예약어). 테이블설명 예상결과 ✏️ 풀이SELECT date, SUM(IF(paying_customer = 'no', downloads, 0)) AS non_paying, SUM(IF(paying_customer = 'yes', downloads, 0)) AS payingFROM ms_download_facts AS dJOIN ms_use..

[LeetCode - Pandas] (Easy) 175. Combine Two Tables

Table: Person+-------------+---------+| Column Name | Type |+-------------+---------+| personId | int || lastName | varchar || firstName | varchar |+-------------+---------+이 테이블에서 personId는 기본 키(고유한 값이 있는 열)입니다.이 테이블은 일부 사람들의 ID와 그들의 이름 및 성에 대한 정보를 포함하고 있습니다.Table: Address+-------------+---------+| Column Name | Type |+-------------+---------+| addressId | int || personI..

[LeetCode - Pandas] (Easy) 181. Employees Earning More Than Their Managers

Table: Employee+-------------+---------+| Column Name | Type |+-------------+---------+| id | int || name | varchar || salary | int || managerId | int |+-------------+---------+이 테이블에서 id는 기본 키(고유한 값이 있는 열)입니다.이 테이블의 각 행은 직원의 ID, 이름, 급여, 그리고 그들의 관리자 ID를 나타냅니다. 문제관리자보다 더 많은 급여를 받는 직원을 찾는 해결책을 작성하세요.결과 테이블은 아무 순서로 반환해도 됩니다.결과 형식은 다음 예시를 따르세요.Example 1:Input: E..

[StrataScratch - SQL] (Medium) Clicked Vs Non-Clicked Search Results

문제검색 결과를 기반으로 두 개의 비율을 계산하세요. 먼저, 클릭된 기록들(clicked = 1) 중 상위 3위 안에 있는 비율을 구하세요. 두 번째로, 클릭되지 않은 기록들(clicked = 0) 중 상위 3위 안에 있는 비율을 구하세요. 두 비율 모두 전체 검색 기록 수를 기준으로 계산되어야 하며, 동일한 행에 두 개의 열로 출력되어야 합니다. 테이블설명 예상결과 ✏️ 풀이WITH clicked_cnt AS ( SELECT COUNT(*) AS c_cnt FROM fb_search_events WHERE clicked = 1 AND search_results_position 1. clicked = 1 의 top3 count2. clicked = 0 의 top3 count3. 전체 1..

[StrataScratch - SQL] (Medium) Meta/Facebook Accounts

문제2020년 1월 10일에 종료된 계정의 비율을 fb_account_status 테이블을 사용하여 계산하세요. 테이블설명 예상결과 ✏️ 풀이WITH total_cnt AS ( SELECT COUNT(*) AS totalCnt FROM fb_account_status WHERE status_date = '2020-01-10')SELECT COUNT(acc_id) / totalCnt AS closed_ratioFROM fb_account_statusJOIN total_cntWHERE status_date = '2020-01-10' AND status = 'closed';1. 2020-01-10 일자의 계정 카운트2. 2020-01-10 일자의 종료 계정 카운트3. 1번의 값과 2번의 값 ..

[BigQuery] 초보자를 위한 BigQuery(SQL) 입문

강의 링크 : https://inf.run/xuieX [지금 무료]초보자를 위한 BigQuery(SQL) 입문 강의 | 카일스쿨 - 인프런카일스쿨 | , 요즘 필수인 데이터 분석 도구, BigQuery어떻게 시작해야 할지 고민인가요? 👀Google Analytics4(GA4), Firebase(파이어베이스)를 사용하는 회사가 많아지면서 많은 회사들이 데이터 웨어하우www.inflearn.com 강의 Intro.참고) 빅쿼리 가이드북 : https://zzsza.github.io/bigquery/ 소개 | BigQuery Guide Book - 빅쿼리 가이드북 zzsza.github.ioGoogle Analytics, Firebase 데이터를 사용한다면 https://zzsza.github.io/gcp..

[Study]/[BigQuery] 2025.05.08

[LeetCode - Pandas] (Easy) 182. Duplicate Emails

Table: Person+-------------+---------+| Column Name | Type |+-------------+---------+| id | int || email | varchar |+-------------+---------+이 테이블에서 id는 기본 키(고유 값이 있는 열)입니다.이 테이블의 각 행은 이메일을 포함하고 있습니다. 이메일에는 대문자가 포함되지 않습니다. 문제중복된 이메일을 보고하는 해결책을 작성하십시오. 이메일 필드는 NULL이 아님이 보장됩니다.결과 테이블은 임의의 순서로 반환될 수 있습니다.결과 형식은 아래 예시와 같습니다.Example 1:Input: Person table:+----+---------+| id | e..