LeetCode 1194.锦标赛优胜者

news2024/11/24 8:44:07

数据准备

Create table If Not Exists Players (player_id int, group_id int);
Create table If Not Exists Matches (match_id int, first_player int, second_player int, first_score int, second_score int);
Truncate table Players;
insert into Players (player_id, group_id) values ('10', '2');
insert into Players (player_id, group_id) values ('15', '1');
insert into Players (player_id, group_id) values ('20', '3');
insert into Players (player_id, group_id) values ('25', '1');
insert into Players (player_id, group_id) values ('30', '1');
insert into Players (player_id, group_id) values ('35', '2');
insert into Players (player_id, group_id) values ('40', '3');
insert into Players (player_id, group_id) values ('45', '1');
insert into Players (player_id, group_id) values ('50', '2');
Truncate table Matches;
insert into Matches (match_id, first_player, second_player, first_score, second_score) values ('1', '15', '45', '3', '0');
insert into Matches (match_id, first_player, second_player, first_score, second_score) values ('2', '30', '25', '1', '2');
insert into Matches (match_id, first_player, second_player, first_score, second_score) values ('3', '30', '15', '2', '0');
insert into Matches (match_id, first_player, second_player, first_score, second_score) values ('4', '40', '20', '5', '2');
insert into Matches (match_id, first_player, second_player, first_score, second_score) values ('5', '35', '50', '1', '1');

需求

编写一个 SQL 查询来查找每组中的获胜者

输入

在这里插入图片描述
在这里插入图片描述

分析

在这里插入图片描述

输出

with t1 as (
    select *,
       case
           when first_score>second_score then first_player
           when first_score<second_score then second_player
           else if(first_player<second_player,first_player,second_player)
       end as score_id,
       case
           when first_score>second_score then first_score
           else second_score
       end as score
    from Matches as m ,Players as p
    where m.first_player=p.player_id
),t2 as (
    select *,
       row_number() over (partition by group_id order by t1.score desc ) as rn1
    from t1
)
select group_id,score_id as player_id
from t2
where rn1=1
;

在这里插入图片描述

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

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

相关文章

python进制转换

""" 基数:有几个数 0b 2进制: 0、1 基数是:2 0o 8进制: 0、1、2、3、4、5、6、7 基数是:8 0d 10进制: 0到9 基数是:10 0x 16进制: 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 基数是:16十进制转二进制: bin() 十进制转八进…

那么国内比较好用的ai写作助手?

在过去的几年里&#xff0c;人工智能&#xff08;AI&#xff09;已经取得了巨大的进步&#xff0c;其中之一就是AI写作助手。这些工具基于先进的自然语言处理技术&#xff0c;可以生成多种类型的文本&#xff0c;包括文章、博客、广告文案、新闻稿等。它们不仅可以提供高质量的…

canvas绘制基本图形——矩形

我们在初识canvas的时候已经用它画过矩形了&#xff0c;今天我们就总结下矩形的绘画方式 rect rect就是简单最基本的矩形绘制方法。它拥有四个参数&#xff0c;第一二两个参数表示他的x&#xff0c;y坐标&#xff0c;注意这是确定矩形左上角的坐标。第三和第四两个参数则表示…

Vue监控路由/路由参数, 刷新当前页面数据的几种方法

目录 Vue监控路由 Vue中watch监控路由 Vue中watch监控路由的某一个参数 Vue中watch同时监控多个路由 刷新当前页面数据 location.reload $router.go(0) this.$router.resolve()与this.$router.resolve() this.$router.resolve() this.$router.push() 场景 往期相关…

对比接口测试工具在自动化测试优缺点:Jmeter、Python、Postman

一、JMeter 总结&#xff1a;适合对代码不敏感的使用人员&#xff0c;不会代码也可以完成接口自动化&#xff0c;设计框架。适合紧急迭代的项目。 JMeter接口测试的优势 小巧轻量级&#xff0c;并且开源免费&#xff0c;社区接受度高&#xff0c;比较容易入门支持多协议&…

混沌学院-亚朵酒店案例-观后随心谈

我在混沌学院翻阅目录时候&#xff0c;选择了亚朵酒店创始人王海军的案例视频作为第一次学习的目标&#xff0c;原因仅仅是因为偶尔一次入住亚朵酒店之后的亲切好感。当时我就想亚朵酒店的经营者一定很厉害。亚朵用一个相对低廉的价格&#xff0c;打造了极度干净和温馨的入住体…

探索互联世界的灯光艺术:FastLED库详细介绍及应用实例

感谢太极创客提供素材 FastLED库-太极创客 太极创客B站视频 文章目录 基础程序为单一灯赋值fill_solid( 目标, 填充数, 颜色) – 将LED光带设置为同一颜色fill_rainbow(目标, 填充数, 开始颜色, 色差)– 将LED光带设置为渐变彩虹色fill_gradient_RGB(目标, 开始位置, 开始颜色…

CSS box-shadow阴影

1、语法 box-shadow: h-shadow v-shadow blur spread color inset; 值描述h-shadow必需的。水平阴影的位置。允许负值v-shadow必需的。垂直阴影的位置。允许负值blur可选。模糊距离spread可选。阴影的大小color可选。阴影的颜色。在CSS颜色值寻找颜色值的完整列表inset可选。…

使用 Sealos 构建低成本、高效能的私有云

这个时候谈论私有云似乎有点反直觉&#xff1f;大部分人认知不是上云是大趋势嘛&#xff1f;我也比较认可上云&#xff0c;不过私有云也是云&#xff0c;今天给大家带来一个新的选择 —— 用云&#xff0c;只需一个 Sealos 就够了。 看看我们怎么做到更低的成本&#xff0c;更…

亚马逊美国站自行车电动自行车儿童自行车的合规认证GCC+UL2849

GCC合规性认证16CFR1512和 UL 2849 随着道路变得更加拥挤&#xff0c;停车位的减少&#xff0c;骑自行车上班已成为一种不错的选择。它不仅为骑手提供体育锻炼&#xff0c;还为骑手提供了更为灵活的通勤&#xff0c;因此更加轻便的电动助力自行车应运而生。需求不断增长&…

信息检索与数据挖掘 | (三)容错式检索

文章目录 &#x1f4da;通配符查询&#x1f407;单个通配符查询&#x1f407;一般的通配符查询&#x1f407;k-gram 索引 &#x1f4da;拼写校正&#x1f407;词项独立的校正方法&#x1f955;编辑距离方法&#x1f955;k-gram重合度法 &#x1f407;上下文敏感的校正方法 &…

Excel实现只针对某项字符第一次出现的位置分列

取第一次出现左边数值 B1LEFT(A1,SEARCH(".",A1)-1) 取第一次出现右边数值 C1RIGHT(A1,LEN(A1)-SEARCH(".",A1)) 公式如图&#xff1a;

MySQL(7) Innodb 原理和日志

一、MySQL结构 客户端 server层 查询缓存&#xff08;5.7&#xff09; 连接器 分析器 优化器 执行器 引擎层 二、一条update操作mysql的流程 三、MySQL的日志 &#xff08;1&#xff09;redo log 保证MySQL 持久性的关键&#xff0c;如果MySQL宕机&#xff0c;buffer pool…

学会这一招,轻松玩转 app 中混合应用自动化测试

♥ 前 言 现在的 app 中越来越多的页面通过 H5 来做了&#xff0c;理由很简单&#xff0c;不需要升级 app 就能让用户使用新的功能。这就苦了我们测试工程师了&#xff0c;混合应用自动化不会玩。今天咱们来聊一聊 app 中混合应用自动化怎么做。 一、环境准备 appium1.21.0…

虹科案例 | 虹科PLC助力纯水冷却机实现精准温度控制

文章来源&#xff1a;虹科工业控制事业部 点击阅读原文&#xff1a;https://mp.weixin.qq.com/s/3gv4M82YhDHCo_cq78EanA 案例概况 客户&#xff1a;Efficient Energy 应用&#xff1a;纯水冷却机 &#xff08;一&#xff09;应用背景 制冷技术在许多不同行业中得到广泛应用&…

仿射变换案例

1.什么是仿射变换 仿射变换(Affine Transformation)其实是另外两种简单变换的叠加:一个是线性变换,一个是平移变换 仿射变换变化包括缩放(Scale、平移(transform)、旋转(rotate)、反射(reflection,对图形照镜子)、错切(shear mapping,感觉像是一个图形的倒影),原来的…

深入理解 pytest.main():Python 测试框架的核心功能解析

前言 笔者平常运行pytest用例时&#xff0c;通常使用命令行方式&#xff0c;像这样 pytest -v pxl/test_dir/test_demo.py::TestDemo::test_my_var&#xff0c;执行某一条case&#xff0c;但每次命令行敲也挺麻烦的。那如何在python代码中调用pytest呢&#xff1f;带着疑问一…

github搜索技巧

指定语言 language:java 比如我要找用java写的含有blog的内容 搜索项目名称包含关键词的内容 vue in:name 其他如项目描述跟项目文档&#xff0c;如下 组合使用 vue in:name,description,readme 根据Star 或者fork的数量来查找 总结 springboot vue stars:>1000 p…

记录使用iText7查找PDF内容关键字坐标,加盖电子签名、印章

一、前言 项目以前签字都是由C端那边进行合成操作&#xff0c;最近项目要求把那块功能&#xff0c;由后端进行实现&#xff0c;其中包含坐标、关键字、任意位置进行签字操作&#xff0c;坐标是最容易实现的&#xff0c;曾经也写过类似的功能在&#xff08;添加图片印章到PDF&a…

解锁工业 4.0 元宇宙:AR/VR、AI 和 3D 技术如何为下一次工业革命提供动力

原创 | 文 BFT机器人 沉浸式混合现实和由虚拟现实&#xff08;VR&#xff09;和增强现实&#xff08;AR&#xff09;组成的扩展现实技术仍然是业务创新和扩张的关键驱动因素。通过改变公司的运营、与客户互动和实现目标的方式&#xff0c;这一技术解决方案集已在多个行业产生了…