Mysql 刷题Day09

LC 585 2016年的投资

思路:

本题思路好想 , 就是把2015年投资相同的找出来 ,再找出这其中经纬度不同的id对应的2016年的保险。

实际操作中, 发现用group by很麻烦, 那么想到窗口函数也能 分组进行统计

利用 count() over (partition by)可以分组统计的同时 ,不合并原始行 , 可以很方便的查找出符合条件的行。

with temp as(
select Insurance.pid ,
tiv_2016,
count(*) over(partition by tiv_2015) cnt ,
count(*) over(partition by lat , lon) cnt2
from Insurance)select round(sum(tiv_2016) , 2) as tiv_2016 from temp
where cnt > 1 and cnt2 = 1

知识点:

1.partition by 相关语法 

count(*)  over(partition by column1[column2]) 

和group by 一样 ,partition by 后面可以加多个字段 ,这些字段全都相同的才视为同一组。

2.group by相关语法

一开始用group by , 写出这样的语句

select pid from Insurance
group by tiv_2015 having count(tiv_2015) > 1

以为可以从这张表中找出 pid为1,3,4

但事实上,

  • ​GROUP BY tiv_2015​​:将数据按 tiv_2015 分组,得到以下分组:
    • tiv_2015 = 10:包含 pid = 1, 3, 4
    • tiv_2015 = 20:包含 pid = 2
  • ​HAVING COUNT(...) > 1​​:保留重复的 tiv_2015 分组(即 tiv_2015 = 10)。
  • ​SELECT pid​​:由于 pid 不在 GROUP BY 中且非聚合列,数据库会从 tiv_2015 = 10 的分组中 ​​随机选择一个 pid​(如 1)。

根本原因在于 select的列必须在group by的列中 , 或者跟着聚合函数才行!

LC 185 部门工资前三高的员工

知识点

和排名相关的窗口函数

1.ROW_NUMBER()

ROW_NUMBER() OVER (ORDER BY column [ASC|DESC])

它会为每一行分配连续的序号,不管值相不相同.

2.rank()

为每一行分配排名,相同值共享同一排名,后续排名跳过重复位次。

3.dense_rank()

为每一行分配排名,相同值共享同一排名,后续排名不跳位

注意,所有和排序相关的窗口函数 , 都必须 跟 order by 

这几种排序的窗口函数 , 符合题意得是第三种,代码如下:

with temp as 
(select d.name Department ,e.name Employee , salary, 
dense_rank() over(partition by d.id order by salary desc )  rk 
from Employee e inner join Department d on e.departmentId = d.id)select Department , Employee , salary as Salary  from temp
where rk <= 3

LC1527 患某种疾病的患者

知识点:like的相关语法

like用于mysql中字符串的模糊匹配 ,

1. LIKE 'abc%' 

表示 以abc开头的字符串 ,%为通配占位符

2.LIKE '%abc%'

表示包含了abc的字符串

3.LIKE '%abc' 

表示包含以abc结尾的字符串。

记忆方法在于:%在哪边 , 表示哪边可以有其他的字符串内容

4. _ 占位符

用于匹配单个字符

-- 匹配第2个字符为 "a" 的字符串(如 "ba", "cat")
WHERE column LIKE '_a%';-- 匹配长度为3且第3个字符为 "x" 的字符串(如 "abx", "1x2")
WHERE column LIKE '__x';

本体思路:

一个坑点在于, 糖尿病的字符串必须以 “DIAB1”开头 ,SADIAB100并不是糖尿病

那么, 如何判断给出的condition中包不包含“DIAB1”呢?

这里就用到like了 , 

分两种情况判断 ,

1.DIAB1位于condition的开头 , 那么用 like 'DIAB1%'即可

2.DIAB1位于condition的中间, 而题目明确指出 , condition字符串中, 不同病症用空格分隔,

那么 要判断DIAB1是否包含在字符串中 , 就是判断  ' DIAB1'(DIAB1加了个空格)是否完整出现

使用like '% DIAB1'

select patient_id , patient_name ,  conditions
from Patients
where conditions like 'DIAB1%' or conditions like '% DIAB1%'

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

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

相关文章

Lambda表达式的方法引用详解

Lambda表达式的方法引用详解 1. 方法引用的概念与作用 定义:方法引用(Method Reference)是Lambda表达式的一种简化写法,允许直接通过方法名引用已有的方法。核心目的:减少冗余代码,提升可读性,尤其在Lambda仅调用一个现有方法时。语法符号:双冒号 ::。2. 方法引用的四种…

记录python在excel中添加一列新的列

思路是&#xff0c;先将需要添加为新的列存储到一个暂时的列表中&#xff0c;然后用到以下函数来存储 data_.loc[:, "新列的名字"] save_list_ 上面的save_list_就是暂时存储了信息的列表了。 以下是我的代码&#xff0c;供以后快速回忆。 schools_data {"98…

关于flutter中Scaffold.of(context).openEndDrawer();不生效问题

原因&#xff1a; 在 Flutter 中&#xff0c;Scaffold.of(context) 会沿着当前的 context 向上查找最近的 Scaffold。如果当前的 widget 树层级中没有合适的 Scaffold&#xff08;比如按钮所在的 context 是在某个子 widget 中&#xff09;&#xff0c;就找不到它。 解决办法…

财管-1-财务分析、评价和预测

1.因素分析法&#xff1a; 报告期&#xff08;实际&#xff09;指标M1A1 * B1 * C1 基 期&#xff08;计划&#xff09;指标M0A0 * B0 * C0……&#xff08;1&#xff09; 第一次替代 A1 * B0 * C0……&#xff08;2&#xff09; 第二次替代 A1 * B1 * C0……&#xff08;3…

golang逃逸分析

1.1 逃逸分析是什么 逃逸分析是指编译器在执行静态代码分析后&#xff0c;对内存管理进行的优化和简化。 在编译原理中&#xff0c;分析指针动态范围的方法被称为逃逸分析。通俗来讲&#xff0c;当一个对象的指针被多个方法或线程引用时&#xff0c;则称这个指针发生了逃逸。…

Meetily:AI会议记录,开源、免费、好用(本地AI实时转录、隐私保护一步到位!)

名人说:博观而约取,厚积而薄发。——苏轼《稼说送张琥》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、初识Meetily:什么是真正的智能会议助手?1. 核心优势一览2. 技术架构揭秘二、实战体验:从安装到使用的完整流程1. 系统要求2. 快速安装指南Wi…

.NET ORM开发手册:基于SqlSugar的高效数据访问全攻略

SqlSuger是一个国产&#xff0c;开源ORM框架&#xff0c;具有高性能&#xff0c;使用方便&#xff0c;功能全面的特点&#xff0c;支持.NET Framework和.NET Core&#xff0c;支持各种关系型数据库&#xff0c;分布式数据库&#xff0c;时序数据库。 官网地址&#xff1a;SqlS…

【论文阅读】KIMI-VL TECHNICAL REPORT

KIMI-VL TECHNICAL REPORT 原文摘要 核心模型&#xff1a;Kimi-VL 模型架构&#xff1a;基于 MoE 设计&#xff0c;仅激活语言解码器的 2.8B 参数&#xff08;Kimi-VL-A3B&#xff09;&#xff0c;在保持高效计算的同时实现高性能。 MoE&#xff08;Mixture of Experts&#xf…

项目管理学习-CSPM4(2)

1 前言 最近在学习CSPM的课程&#xff0c;部分内容让我受益匪浅。建议需要提升项目管理能力的同学可以通过以考促学的方式进行学习。下面整理了一部分内容和大家分享。CSPM全称China Standards Project Management&#xff0c;中文名为项目管理专业人员能力评价等级证书&#…

【Web前端】ECMAScript 6基础学习

ECMAScript 6 简介 ECMAScript 和 JavaScript 的关系:前者是后者的规格&#xff0c;后者是前者的一种实现&#xff0c;常场合&#xff0c;这两个词是可以互换的。 ECMAScript 6&#xff08;以下简称 ES6&#xff09;是 JavaScript 语言的标准&#xff0c;在 2015 年 6 月发布…

基于Python的全卷积网络(FCN)实现路径损耗预测

以下是一份详细的基于Python的全卷积网络(FCN)实现路径损耗预测的技术文档。本方案包含理论基础、数据生成、模型构建、训练优化及可视化分析,代码实现约6000字。 基于全卷积网络的无线信道路径损耗预测系统 目录 问题背景与需求分析系统架构设计合成数据生成方法全卷积网络…

AI数字人一体机和智慧屏方案:开启智能交互新纪元

在当今这个信息化飞速发展的时代&#xff0c;AI技术正以前所未有的速度改变着我们的生活方式和工作模式。特别是在人机交互领域&#xff0c;AI数字人的出现不仅极大地丰富了用户体验&#xff0c;也为各行各业提供了前所未有的创新解决方案。本文将重点介绍由广州深声科技有限公…

练习实践--deepseek的使用环境搭建回顾--火山方舟

快速回顾 有更多第三方可以提供免费的大模型体验服务&#xff0c;比如硅基流动/火山方舟&#xff0c;通过选择指定模型&#xff0c;生成模型id和自己的API-KEY这两个信息&#xff0c;可以在第三方集成ai工具&#xff0c;如cherry studio上使用&#xff1b; 参考来源 来自阮一…

Adminer 连接mssql sqlserver

第一步 docker-compose.yml adminer部分&#xff1a; version: 3.8 services: adminer: image: adminer:latest container_name: adminer restart: unless-stopped volumes: - ./freetds/freetds.conf:/etc/freetds.conf:rw # 确保 :rw 可读写 co…

JWT令牌详解及Java中的使用实战

JWT令牌详解及Java中的使用实战 摘要 本文将深入解析**JWT&#xff08;JSON Web Token&#xff09;**的核心概念&#xff0c;通过图文并茂的方式详解其工作原理&#xff0c;并手把手教你在Java中实现JWT的生成、验证与解析。无论你是认证授权新手还是想巩固知识的老手&#x…

晶圆隐裂检测提高半导体行业效率

半导体行业是现代制造业的核心基石&#xff0c;被誉为“工业的粮食”&#xff0c;而晶圆是半导体制造的核心基板&#xff0c;其质量直接决定芯片的性能、良率和可靠性。晶圆隐裂检测是保障半导体良率和可靠性的关键环节。 晶圆检测 通过合理搭配工业相机与光学系统&#xff0c…

Java 的 ReentrantLock

Java中的ReentrantLock是java.util.concurrent.locks包下提供的一个可重入互斥锁&#xff0c;用于替代synchronized关键字实现更灵活的线程同步。以下是其核心特性和使用方法的详细说明&#xff1a; 核心特性 可重入性 同一个线程可以重复获取同一个锁&#xff08;锁的持有计数…

达梦数据库-学习-23-获取执行计划的N种方法

目录 一、环境信息 二、说点什么 三、测试数据生成 四、测试语句 五、获取执行计划方法 1、EXPLAIN &#xff08;1&#xff09;样例 &#xff08;2&#xff09;优势 &#xff08;3&#xff09;劣势 2、ET &#xff08;1&#xff09;开启参数 &#xff08;2&#xff…

20200201工作笔记常用命令要整理

工作笔记常用命令&#xff1a; 1.repo常用命令&#xff1a; repo sync -c -j10 2. 常用adb命令 错误: error: device unauthorized. This adbds $ADB_VENDOR_KEYS is not set; try adb kill-server if that seems wrong. Otherwise check for a confirmation dialog on your d…

PET,Prompt Tuning,P Tuning,Lora,Qlora 大模型微调的简介

概览 到2025年&#xff0c;虽然PET&#xff08;Pattern-Exploiting Training&#xff09;和Prompt Tuning在学术界仍有探讨&#xff0c;但在工业和生产环境中它们已基本被LoRA/QLoRA等参数高效微调&#xff08;PEFT&#xff09;方法取代 。LoRA因其实现简单、推理零开销&#…