나의 풀이:
select round(sum(tiv_2016), 2) as tiv_2016
from insurance
where tiv_2015 in (
select tiv_2015
from insurance
group by tiv_2015
having count(*) > 1)
and (lat, lon) in (
select lat, lon
from insurance
group by lat, lon
having count(*) = 1)
다른 방법: 상호연관서브쿼리 (correlated subquery)
select round(sum(tiv_2016), 2) as tiv_2016
from insurance i1
where tiv_2015 in (
select tiv_2015
from insurance i2
where i2.pid != i1.pid)
and (lat, lon) not in (
select lat, lon
from insurance i3
where i3.pid != i1.pid)
아웅 이런 생각은 어떻게 하는거야~~
'SQL > LeetCode&HackerRank' 카테고리의 다른 글
[MySQL] Leetcode - 1907. Count Salary Categories (1) | 2024.02.05 |
---|---|
[MySQL] Hackerrank - Occupations (1) | 2024.01.30 |
[MySQL] Leetcode - 601. Human Traffic of Stadium (0) | 2024.01.29 |
[MySQL] Leetcode - 1045. Customers Who Bought All Products (0) | 2024.01.29 |
[MySQL] HackerRank - SQL Project Planning (0) | 2024.01.22 |