LeetCode MySQL 1194. 锦标赛优胜者
生活随笔
收集整理的這篇文章主要介紹了
LeetCode MySQL 1194. 锦标赛优胜者
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
Players 玩家表
+-------------+-------+ | Column Name | Type | +-------------+-------+ | player_id | int | | group_id | int | +-------------+-------+ 玩家 ID 是此表的主鍵。 此表的每一行表示每個玩家的組。Matches 賽事表
+---------------+---------+ | Column Name | Type | +---------------+---------+ | match_id | int | | first_player | int | | second_player | int | | first_score | int | | second_score | int | +---------------+---------+ match_id 是此表的主鍵。 每一行是一場比賽的記錄,第一名和第二名球員包含每場比賽的球員 ID。 第一個玩家和第二個玩家的分數分別包含第一個玩家和第二個玩家的分數。 你可以假設,在每一場比賽中,球員都屬于同一組。每組的獲勝者是在組內得分最高的選手。
如果平局,player_id 最小 的選手獲勝。
編寫一個 SQL 查詢來查找每組中的獲勝者。
查詢結果格式如下所示
Players 表: +-----------+------------+ | player_id | group_id | +-----------+------------+ | 15 | 1 | | 25 | 1 | | 30 | 1 | | 45 | 1 | | 10 | 2 | | 35 | 2 | | 50 | 2 | | 20 | 3 | | 40 | 3 | +-----------+------------+Matches 表: +------------+--------------+---------------+-------------+--------------+ | match_id | first_player | second_player | first_score | second_score | +------------+--------------+---------------+-------------+--------------+ | 1 | 15 | 45 | 3 | 0 | | 2 | 30 | 25 | 1 | 2 | | 3 | 30 | 15 | 2 | 0 | | 4 | 40 | 20 | 5 | 2 | | 5 | 35 | 50 | 1 | 1 | +------------+--------------+---------------+-------------+--------------+Result 表: +-----------+------------+ | group_id | player_id | +-----------+------------+ | 1 | 15 | | 2 | 35 | | 3 | 40 | +-----------+------------+來源:力扣(LeetCode) 鏈接:https://leetcode-cn.com/problems/tournament-winners
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
- 先把分數加起來
- 左連接獲取 分組id
- 窗口函數獲取 組內排名
- 取出排名為1的
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode MySQL 1194. 锦标赛优胜者的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天池 在线编程 高效作业处理服务(01背
- 下一篇: LeetCode 1737. 满足三条件