日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

LeetCode MySQL 1212. 查询球队积分

發(fā)布時(shí)間:2024/7/5 数据库 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode MySQL 1212. 查询球队积分 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

    • 1. 題目
    • 2. 解題

1. 題目

Table: Teams

+---------------+----------+ | Column Name | Type | +---------------+----------+ | team_id | int | | team_name | varchar | +---------------+----------+ 此表的主鍵是 team_id,表中的每一行都代表一支獨(dú)立足球隊(duì)。

Table: Matches

+---------------+---------+ | Column Name | Type | +---------------+---------+ | match_id | int | | host_team | int | | guest_team | int | | host_goals | int | | guest_goals | int | +---------------+---------+ 此表的主鍵是 match_id,表中的每一行都代表一場(chǎng)已結(jié)束的比賽, 比賽的主客隊(duì)分別由它們自己的 id 表示, 他們的進(jìn)球由 host_goals 和 guest_goals 分別表示。積分規(guī)則如下:贏一場(chǎng)得三分; 平一場(chǎng)得一分; 輸一場(chǎng)不得分。

寫(xiě)出一條SQL語(yǔ)句以查詢每個(gè)隊(duì)的 team_id,team_name 和 num_points。
結(jié)果根據(jù) num_points 降序排序,如果有兩隊(duì)積分相同,那么這兩隊(duì)按 team_id 升序排序。

查詢結(jié)果格式如下:

Teams table: +-----------+--------------+ | team_id | team_name | +-----------+--------------+ | 10 | Leetcode FC | | 20 | NewYork FC | | 30 | Atlanta FC | | 40 | Chicago FC | | 50 | Toronto FC | +-----------+--------------+Matches table: +------------+--------------+---------------+-------------+--------------+ | match_id | host_team | guest_team | host_goals | guest_goals | +------------+--------------+---------------+-------------+--------------+ | 1 | 10 | 20 | 3 | 0 | | 2 | 30 | 10 | 2 | 2 | | 3 | 10 | 50 | 5 | 1 | | 4 | 20 | 30 | 1 | 0 | | 5 | 50 | 30 | 1 | 0 | +------------+--------------+---------------+-------------+--------------+Result table: +------------+--------------+---------------+ | team_id | team_name | num_points | +------------+--------------+---------------+ | 10 | Leetcode FC | 7 | | 20 | NewYork FC | 3 | | 50 | Toronto FC | 3 | | 30 | Atlanta FC | 1 | | 40 | Chicago FC | 0 | +------------+--------------+---------------+

來(lái)源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/team-scores-in-football-tournament
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

2. 解題

  • 按照主隊(duì),客隊(duì)分別計(jì)算完 合并,再group by,left join 隊(duì)名表
# Write your MySQL query statement below select Teams.team_id, Teams.team_name, ifnull(Scores.score, 0) num_points from Teams left join (select team, sum(score) scorefrom((select host_team team, (case when host_goals > guest_goals then 3when host_goals = guest_goals then 1else 0 end) scorefrom Matches)union all(select guest_team team, (case when host_goals > guest_goals then 0when host_goals = guest_goals then 1else 3 end) scorefrom Matches)) tempgroup by team ) Scores on Teams.team_id = Scores.team order by num_points desc, team_id

690 ms


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

長(zhǎng)按或掃碼關(guān)注我的公眾號(hào)(Michael阿明),一起加油、一起學(xué)習(xí)進(jìn)步!

總結(jié)

以上是生活随笔為你收集整理的LeetCode MySQL 1212. 查询球队积分的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。