LC 速查

SQL 50索引 › A6 Subqueries 子查询

LC 5852016年的投资Investments in 2016 中等

Insurance 表记录保单的 tiv_2015、tiv_2016 与经纬度;对 tiv_2015 与其他保单相同、且位置坐标唯一的保单,求 tiv_2016 总和,保留 2 位小数。

思路 两个子查询:GROUP BY + HAVING 计数筛选,(lat,lon) 行元组 IN。

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
);

数据表:Insurance · 关键字:对 tiv_2015 与其他保单相同、且位置坐标唯一的保单,求 tiv_2016 总和,保留 2 位小数

← 上一题 好友申请 II :谁有最多的好友部门工资前三高的所有员工 下一题 →