力扣SQL50 2016年的投资 窗口函数

Problem: 585. 2016年的投资
在这里插入图片描述

👨‍🏫 参考题解

Code

SELECT 
    ROUND(SUM(tiv_2016), 2) AS tiv_2016  -- 对符合条件的记录计算 tiv_2016 的总和,并保留两位小数
FROM (
    SELECT
        tiv_2016,                                   -- 选取 tiv_2016 列
        COUNT(*) OVER(PARTITION BY tiv_2015) AS count_tiv_2015, -- 计算每个 tiv_2015 分组内的记录数
        COUNT(*) OVER(PARTITION BY lat, lon) AS count_lat_lon   -- 计算每个 (lat, lon) 分组内的记录数
    FROM 
        insurance                                    -- 从 insurance 表中选择数据
) AS temp
WHERE 
    count_lat_lon = 1                                -- 过滤条件1:只保留 count_lat_lon 为1的记录,即经纬度唯一的记录
    AND count_tiv_2015 > 1                           -- 过滤条件2:只保留 count_tiv_2015 大于1的记录,即同一 tiv_2015 值有多个记录
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值