본문 바로가기

문제풀이/SQL(My sql)95

[문제풀이] Leet code - Investments in 2016 출처 문제다음과 같은 모든 보험 계약자를 위해 2016년 모든 총 투자 가치의 합계를 보고하는 솔루션을 작성하십시오.tiv_2016 한 명 이상의 다른 보험 계약자와 동일한 가치를 가지며,tiv_2015 다른 보험 계약자와 같은 도시에 있지 않습니다(즉, () 속성 쌍은 고유해야 함).lat, lon 소수점 이하 두 자리로 반올림합니다.tiv_2016 문제에 대한 해석조건1. 같은 tiv_2015값을 갖고조건2. lat, lon을 쌍으로 같은 값이 없어야 한다풀이(MYSQL)-- 오답with base as ( select distinct(a.pid) -- 5.조건에 필터링된 pid의 고유값 조회 from Insurance a , Insurance b -- 1. 크로스 조인하여 where.. 2024. 7. 19.
[문제풀이] Leet code - Game Play Analysis IV 출처 문제처음 로그인한 날의 다음 날에 다시 로그인한 플레이어의 비율을 소수점 이하 2자리로 반올림하여 보고하는 솔루션을 작성합니다. 즉, 첫 번째 로그인 날짜부터 최소 2일 연속으로 로그인한 플레이어 수를 계산한 다음 해당 숫자를 총 플레이어 수로 나눠야 합니다.결과 형식은 다음 예제와 같습니다.문제에 대한 해석  첫 번째 로그인 날짜부터 최소 2일 연속 방문한 Id =  3월 1일, 3월2일에 연속으로 방문한 id 1풀이(MYSQL)-- 아이디별 첫번째 방문한 날짜 계산with first as ( select player_id, min(event_date) as 'event_date' from Activity group by player_id)select round(count(dis.. 2024. 7. 17.
[문제풀이] Leet code - Department Highest Salary 출처 문제Write a solution to find employees who have the highest salary in each of the departments. Return the result table in any order. The result format is in the following example.문제에 대한 해석 각 부서별 가장높은 급여를 받는 사람(공동순위 가능)의부서, 이름, 연봉을 조회 풀이(MYSQL)-- 1.서브쿼리 + dense_rankselect d.name as 'Department', a.name as 'Employee', a.salary as 'Salary'from(select dense_rank()over(partition by departmentID orde.. 2024. 7. 16.
[문제풀이] Leet code - duplicate-emails 출처 문제Write a solution to report all the duplicate emails. Note that it's guaranteed that the email field is not NULL.Return the result table in any order.The result format is in the following example. 문제에 대한 해석중복되는 이메일을 찾아 출력하라  풀이(MYSQL)-- 정답1: group bySELECT email from Persongroup by emailhaving count(email) > 1;이메일을 기준으로 개수를 집계하여 1개를 초화한 경우 조회 -- 정답2: 카다시안 곱SELECT DISTINCT(p1.email) from Pers.. 2024. 7. 15.
[문제풀이] Leet code - Consecutive Numbers 출처 문제연속으로 세 번 이상 나타나는 모든 숫자를 찾습니다. 순서에 관계없이 결과 테이블을 반환합니다.결과 형식은 다음 예제와 같습니다.문제에 대한 해석연속된 세번이상의 숫자라고아이디가 순차적으로 나열되어야 한다또한 아이디가 중간에 끊기면 안되는것 같다1이 네번 이상 연속적인것 같지만 id가 1,2번 4,5번으로 연속적이라고 볼 수 없다풀이(MYSQL)-- 오답with base as ( select num , lead(num)over(order by id) as 'num1' , lead(num,2)over(order by id) as 'num2'from Logs)select distinct num as 'ConsecutiveNums'from basewhere num = num1and n.. 2024. 7. 15.
[문제풀이] Leet code - Second Highest Salary 출처  문제Write a solution to find the second highest salary from the table. If there is no second highest salary, return null문제에 대한 해석 Employee 테이블에서 두번째로 높은 임금을 찾아라없다면 null을 반환 1. 월급에 대한 순위를 매긴다 > 같은 임금일 경우 어떻게 해야 할까?문제 예시를 보면 100이 가장 높은 임금으로 Id1과 ID2가 공동순위를 가진다이때 두번째로 높은 임금은 50이므로 총 임금에 대한 순위는 1,1,2로 공동순위에 상관없이 다음 순위가 매겨진다> dense_rank 2. 두번째로 높은 임금이 없는 경우 null 값 반환보통 테이블에서 조건으로 필터링한 경우 값이 없으면 아예 .. 2024. 7. 12.