zoukankan      html  css  js  c++  java
  • LeetCode 【困难】数据库-第1194:锦标赛优胜者

    题目

    数据

    结果

    解答

    1.因为分了两场,所以把两场连接为一场

    select first_player player_id,first_score score from matches #
    union all
    select second_player player_id,second_score score from matches
    

    2. 连接players表,按组别和玩家 分组计算得分

    select group_id,players.player_id,sum(score) score1 
    from players
    right join(
                select first_player player_id,first_score score from matches #
                union 
                select second_player player_id,second_score score from matches
               ) a
    on a.player_id = players.player_id
    group by group_id,player_id
    order by group_id
    

    3.按照组别分组,按分数排名(排名的时候,按照分数和用户id排名)!!!!!!

    select group_id,player_id,score1,
           rank() over (partition by group_id order by score1 desc,player_id) rn 
    from(
            select group_id,players.player_id,sum(score) score1 
            from players
            right join(
                      select first_player player_id,first_score score from matches #
                      union 
                      select second_player player_id,second_score score from matches
                       ) a
            on a.player_id = players.player_id
            group by group_id,player_id
            order by group_id
        ) b 
    

    4.筛选出来第一名的人,(按照分数和id)

    select group_id,player_id ,rn
    from(
        select group_id,player_id,score1,
            rank() over (partition by group_id order by score1 desc,player_id) rn 
        from(
            select group_id,players.player_id,sum(score) score1 
            from players
            right join(
                select first_player player_id,first_score score from matches #
                union 
                select second_player player_id,second_score score from matches
            ) a
            on a.player_id = players.player_id
            group by group_id,player_id
    				order by group_id
        )b 
    )c
    where rn = 1
    

  • 相关阅读:
    修改windows系统cookie、favorites、desktop等的位置到非系统盘
    第三章 多维随机变量及其分布4
    谈谈Ironpython的应用
    提问的智慧
    第三章 多维随机变量及其分布2
    用C#做 UG NX 二次开发 / NX Secondary Dev. with C#
    第六章 样本与抽样分布
    ufun视频教程(合) / Movie of UFUN
    第四章 随机变量的数字特征2
    第一章 概率论的基本概论
  • 原文地址:https://www.cnblogs.com/Tdazheng/p/14981005.html
Copyright © 2011-2022 走看看