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,一经查实,立即删除!

相关文章

黑马程序员---面向对象笔记总结

------- android培训、java培训、期待与您交流&#xff01; ---------- 封装 匿名函数 2--匿名对象使用方式一&#xff0c;当对象的方法只调用一次时&#xff0c;可以用匿名对象完成&#xff0c;这样写比较简单&#xff0c;如果对一个对象进行多个成员必须个这个对象起个名字…

mysql 选择特定的表_MySQL选择具有多个特定列的所有表

我想获取具有3个特定列的所有表名.我想要的是从信息模式中获取所有包含columnA AND columnB AND columnC的表名.目前,我正在使用类似的查询SELECT DISTINCT TABLE_NAMEFROM INFORMATION_SCHEMA.COLUMNSWHERE COLUMN_NAMEcolumnAAND TABLE_SCHEMAmysampledatabase;如何扩展上述查…

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

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

HTML DOM content 属性

摘自&#xff1a;http://www.w3school.com.cn/htmldom/prop_style_content.asp 定义和用法 content 属性设置文本或图像出现&#xff08;浮动&#xff09;在另一个元素中的什么地方。 语法&#xff1a; Object.style.contentvalue 可能的值 值描述string定义文本内容。url定义 …

java requestbody map_java-如何将Map转换为RequestBody?

使用Retrofit 2.4.0,我正在发出Multipart POST请求.我正在将文件作为Part以及一些元数据作为PartMap发送.这就是通话的样子.MultipartPOST("https://8hoot.com/my-path")Single> uploadMedia(PartMap Map metadata,Part MultipartBody.Part filePart);还有另一个M…

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地址…

Java求最小数用哪个函数_在Java中使用小数进行计算的函数

例如,当您键入22和56时,此代码可以正常工作,它显示正确的结果import java.util.Scanner;class apples{public static void main(String args[]){Scanner villy new Scanner (System.in);double fnum, snum, answer;System.out.println("Enter first num: ");fnum v…

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

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

java自定义标签简单_JSP 自定义标签之一 简单实例

在jsp中使用自定义标签可以达到这样的目的&#xff0c;事实上&#xff0c;我们所熟知的各类框架基本上都是通过自定义标签的形式来实现的。通过使用自定义标签&#xff0c;我们可以将实现复杂的逻辑在页面用简单的标签来加以展示。下面我们来实现一个非常简单的自定义标签&…

case study

To be continue...转载于:https://www.cnblogs.com/zhangzhang/archive/2013/03/10/2953199.html

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

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

phpstud如何安装mysql新版_phpstudy 升级mysql版本

phpstudy里没有地方可以设置mysql数据库&#xff0c;很多人都疑惑在phpstudy里怎么升级mysql数据库版本&#xff0c;本文就教你如何在phpstudy中升级mysql的版本。phpstudy集成环境中的mysql数据库的版本默认是mysql5.5&#xff0c;下面是phpstudy升级数据库到mysql5.7的方法&a…

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 是电影的名字…

Linux shell脚本 遍历带空格的文件名

一般的写法是 for f in ls ./ 但是如果文件名中带空格&#xff0c;比如"A B" 那么虽然ls能正确列出&#xff0c;但是for却会把空格当成分隔符 将A&#xff0c;B分别赋给f&#xff0c;导致变成两个文件名 研究发现问号&#xff1f;在文件名中也可以代表空格。因此可以…

java在画布上画出变量_急..JAVA 在画布上画拖动滚动条可扩大缩小的长方形

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼貌似题目要求是 Appliction 不是 Applet 哦改成这样&#xff1a;import java.awt.event.*;import java.awt.*;import java.applet.*;public class A extends Frame implements AdjustmentListener {Scrollbar mySlider;int r;publi…

sklearn 机器学习 Pipeline 模板

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

php获取表单信息的代码_PHP获取HTML文件名表单数据等

1、PHP获取表单各项数据 --- 与表单提交的方式有关GET方式&#xff0c;格式&#xff1a;$_GET[“formelement”]POST方式&#xff0c;格式&#xff1a;$_POST[“formelement”]REQUEST方式&#xff0c;格式&#xff1a;$_REQUEST[“formelement”]2、表单中上传文件的数据数组&…

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

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