OkBublewrap

585. Investments in 2016 본문

개발/SQL

585. Investments in 2016

옥뽁뽁 2025. 2. 13. 01:36

585. Investments in 2016

문제

  1. 모든 보험 가입자의 tiv_2016의 합을 구하는 SQL
  2. 소수점 둘째 자리까지 반올림
  3. tiv_2015 값이 다른 보험 가입자와 동일한 경우
  4. (lat, lon) 값이 유일한 경우

 

입력 테이블

1. Insurance

  • pid
  • tiv_2015
  • tiv_2016
  • lat
  • lon

 

풀이

1. tiv_2015의 값이 동일한 경우

select tiv_2015
from insurance
group by tiv_2015
having count(*) > 1

 

2. lat, lon이 고유한 경우

select lat, lon
from insurance
group by lat, lon
having count(*) = 1

 

3. 전체 - 조건절 & 합을 구하는 공식

select round(sum(tiv_2016),2) as tiv_2016
from insurance
where (lat, lon) in (
    select lat, lon
    from insurance
    group by lat, lon
    having count(*) = 1
) and tiv_2015 in (
    select tiv_2015
    from insurance
    group by tiv_2015
    having count(*) > 1
)

'개발 > SQL' 카테고리의 다른 글

Histogram of Tweets  (0) 2025.03.08
SQL 문자열 다루기  (0) 2025.03.04
196. Delete Duplicate Emails  (0) 2025.02.12
176. Second Highest Salary  (0) 2025.02.11
1341. Movie Rating  (0) 2025.02.10