LeetCode MySQL 585. 2016年的投资(窗口函数over(partition by xx))

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

写一个查询语句,将 2016 年 (TIV_2016) 所有成功投资的金额加起来,保留 2 位小数。

对于一个投保人,他在 2016 年成功投资的条件是:

  • 他在 2015 年的投保额 (TIV_2015) 至少跟一个其他投保人在 2015 年的投保额相同
  • 他所在的城市必须与其他投保人都不同(也就是说维度和经度不能跟其他任何一个投保人完全相同)。

输入格式:
表 insurance 格式如下:

| Column Name | Type          |
|-------------|---------------|
| PID         | INTEGER(11)   |
| TIV_2015    | NUMERIC(15,2) |
| TIV_2016    | NUMERIC(15,2) |
| LAT         | NUMERIC(5,2)  |
| LON         | NUMERIC(5,2)  |
PID 字段是投保人的投保编号, 
TIV_2015 是该投保人在2015年的总投保金额, 
TIV_2016 是该投保人在2016年的投保金额, 
LAT 是投保人所在城市的维度, LON 是投保人所在城市的经度。
样例输入
| PID | TIV_2015 | TIV_2016 | LAT | LON |
|-----|----------|----------|-----|-----|
| 1   | 10       | 5        | 10  | 10  |
| 2   | 20       | 20       | 20  | 20  |
| 3   | 10       | 30       | 20  | 20  |
| 4   | 10       | 40       | 40  | 40  |样例输出
| TIV_2016 |
|----------|
| 45.00    |

解释

就如最后一个投保人,第一个投保人同时满足两个条件:

  1. 他在 2015 年的投保金额 TIV_2015 为 ‘10’ ,与第三个和第四个投保人在 2015 年的投保金额相同。
  2. 他所在城市的经纬度是独一无二的。

第二个投保人两个条件都不满足。他在 2015 年的投资 TIV_2015 与其他任何投保人都不相同。
且他所在城市的经纬度与第三个投保人相同。基于同样的原因,第三个投保人投资失败。

所以返回的结果是第一个投保人和最后一个投保人的 TIV_2016 之和,结果是 45 。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/investments-in-2016
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

# Write your MySQL query statement below
select round(sum(TIV_2016), 2) TIV_2016
from insurance
where (LAT, LON) not in (select LAT, LONfrom insurancegroup by LAT, LONhaving count(*) > 1)and TIV_2015 in(select TIV_2015from insurancegroup by TIV_2015having count(*) > 1)

or 窗口函数

# Write your MySQL query statement below
select round(sum(TIV_2016), 2) TIV_2016
from
(select*,count(*) over(partition by TIV_2015) as cnt1,count(*) over(partition by LAT, LON) as cnt2frominsurance
) t
where t.cnt1 > 1 and t.cnt2 <= 1

我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474645.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode MySQL 1321. 餐馆营业额变化增长(over窗口函数)

文章目录1. 题目2. 解题1. 题目 表: Customer ------------------------ | Column Name | Type | ------------------------ | customer_id | int | | name | varchar | | visited_on | date | | amount | int | ---------------------…

LeetCode MySQL 1398. 购买了产品A和产品B却没有购买产品C的顾客

文章目录1. 题目2. 解题1. 题目 Customers 表&#xff1a; ------------------------------ | Column Name | Type | ------------------------------ | customer_id | int | | customer_name | varchar | ------------------------------ cust…

Java 网络编程(二) 两类传输协议:TCP UDP

两类传输协议&#xff1a;TCP,UDP TCP TCP是Transfer Control Protocol&#xff08;传输控制协议&#xff09;的简称&#xff0c;是一种面向连接的保证可靠传输的协议。 在TCP/IP协议中&#xff0c; IP层主要负责网络主机的定位&#xff0c;数据传输的路由&#xff0c;由IP地址…

LeetCode MySQL 1285. 找到连续区间的开始和结束数字(dense_rank连续排名)

文章目录1. 题目2. 解题1. 题目 表&#xff1a;Logs ------------------------ | Column Name | Type | ------------------------ | log_id | int | ------------------------ id 是上表的主键。 上表的每一行包含日志表中的一个 ID。后来一些 ID 从 Logs 表…

LeetCode MySQL 1440. 计算布尔表达式的值(case when then else end)

文章目录1. 题目2. 解题1. 题目 表 Variables: ------------------------ | Column Name | Type | ------------------------ | name | varchar | | value | int | ------------------------ name 是该表主键. 该表包含了存储的变量及其对应的值.表…

AjaxControlToolkit AjaxFileUpload 为英文的解决办法

下载AjaxControlToolkit的源代码 在ajaxcontroltoolkit-a2a6dc6854e0\Client\MicrosoftAjax.Extended\ExtenderBase\BaseScriptsResources.zh-CHS.resx里按照例子 如下修改 <data name"AjaxFileUpload_SelectFile" xml:space"preserve"> <val…

LeetCode MySQL 1341. 电影评分

文章目录1. 题目2. 解题1. 题目 表&#xff1a;Movies ------------------------ | Column Name | Type | ------------------------ | movie_id | int | | title | varchar | ------------------------ movie_id 是这个表的主键。 title 是电影的名字…

sklearn 机器学习 Pipeline 模板

文章目录1. 导入工具包2. 读取数据3. 数字特征、文字特征分离4. 数据处理Pipeline5. 尝试不同的模型6. 参数搜索7. 特征重要性筛选8. 最终完整Pipeline使用 sklearn 的 pipeline 搭建机器学习的流程 本文例子为 [Kesci] 新人赛 员工满意度预测 参考 [Hands On ML] 2. 一个完整…

SQL Server 批量插入数据的两种方法

在SQL Server 中插入一条数据使用Insert语句&#xff0c;但是如果想要批量插入一堆数据的话&#xff0c;循环使用Insert不仅效率低&#xff0c;而且会导致SQL一系统性能问题。下面介绍SQL Server支持的两种批量数据插入方法&#xff1a;Bulk和表值参数(Table-Valued Parameters…

LeetCode MySQL 1532. The Most Recent Three Orders(dense_rank + over窗口函数)

文章目录1. 题目2. 解题1. 题目 Table: Customers ------------------------ | Column Name | Type | ------------------------ | customer_id | int | | name | varchar | ------------------------ customer_id is the primary key for this table. T…

Dota改键

利用全局钩子 制作一个个性化的dota游戏改键&#xff01; dll部分&#xff1a; // FileName: add.cpp#include <Windows.h>/* 定义全局变量 */ HWND g_hwnd NULL; HHOOK g_hKeyboard NULL;// 设置数据段 #pragma data_seg("MySec") static WORD g_keyNum[6]{…

LeetCode MySQL 1501. 可以放心投资的国家

文章目录1. 题目2. 解题1. 题目 表 Person: ------------------------- | Column Name | Type | ------------------------- | id | int | | name | varchar | | phone_number | varchar | ------------------------- id 是该表主键. 该表…

LeetCode MySQL 1270. 向公司CEO汇报工作的所有人

文章目录1. 题目2. 解题1. 题目 员工表&#xff1a;Employees ------------------------ | Column Name | Type | ------------------------ | employee_id | int | | employee_name | varchar | | manager_id | int | ------------------------ employee_…

LeetCode MySQL 570. 至少有5名直接下属的经理

文章目录1. 题目2. 解题1. 题目 Employee 表包含所有员工和他们的经理。 每个员工都有一个 Id&#xff0c;并且还有一列是经理的 Id。 ------------------------------------- |Id |Name |Department |ManagerId | ------------------------------------- |101 |John…

LeetCode MySQL 1132. 报告的记录 II

文章目录1. 题目2. 解题1. 题目 动作表&#xff1a; Actions ------------------------ | Column Name | Type | ------------------------ | user_id | int | | post_id | int | | action_date | date | | action | enum | | extra…

java封装省市区三级json格式,微信开发 使用picker封装省市区三级联动模板

目前学习小程序更多的是看看能否二次封装其它组件&#xff0c;利于以后能快速开发各种小程序应用。目前发现picker的selector模式只有一级下拉&#xff0c;那么我们是否可以通过3个picker来实现三级联动模板的形式来引入其它页面中呢&#xff1f;答案是肯定可以的。那么我的思路…

LeetCode MySQL 1126. 查询活跃业务

文章目录1. 题目2. 解题1. 题目 事件表&#xff1a;Events ------------------------ | Column Name | Type | ------------------------ | business_id | int | | event_type | varchar | | occurences | int | ------------------------ 此表的主键是…

php linux 删除文件夹,linux下如何删除文件夹

linux下删除文件夹的方法&#xff1a;可以使用【rm -rf 目录名】命令进行删除&#xff0c;如【rm -rf /var/log/httpd/access】&#xff0c;表示删除/var/log/httpd/access目录及其下的所有文件、文件夹。直接rm就可以了&#xff0c;不过要加两个参数-rf 即&#xff1a;rm -rf …

LeetCode 1533. Find the Index of the Large Integer(二分查找)

文章目录1. 题目2. 解题1. 题目 We have an integer array arr, where all the integers in arr are equal except for one integer which is larger than the rest of the integers. You will not be given direct access to the array, instead, you will have an API Array…

MySQL Server Architecture

MySQL 服务器架构&#xff1a; 转载于:https://www.cnblogs.com/macleanoracle/archive/2013/03/19/2968212.html