QuXiangjie / Study-Review

自己欠缺的还太多了,希望通过总结每天的学习内容,整理每天的思绪来丰富自己的知识库。我想成为一名优秀的金融数据分析师,并行发展技术与商业业务。博客内容为:数理统计、财务业务、Python(数据分析及可视化)、Excel(数据分析)、SQL、英文
0 stars 0 forks source link

585. Investments in 2016 #13

Open QuXiangjie opened 6 months ago

QuXiangjie commented 6 months ago

Question

# Write your MySQL query statement below
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
)

The key is that we need to find the question first, and then try to solve it

select round(sum(i.tiv_2016),2) as tiv_2016 from insurance i,
(select CONCAT(lat,',',lon) AS combo, count(*) as cnt from insurance group by lat,lon) loc,
(select tiv_2015, count(*) as cnt from insurance group by tiv_2015) inv
where loc.combo = CONCAT(i.lat,',',i.lon) and loc.cnt = 1
and inv.tiv_2015 = i.tiv_2015 and inv.cnt > 1;