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
    

  • 相关阅读:
    tp3.2和Bootstrap模态框导入excel表格数据
    PHPEXCEL导入导出
    Yar请求数据接口
    php函数
    Linux常用操作命令
    PHP读取excel表格,和导出表格
    PHP 查找二维数组中是否有指定字符串的字段
    下载百度网盘大文件
    thinkPHP写txt日志文件
    PHP接收post请求,不是空数组就是没值,怎么办!
  • 原文地址:https://www.cnblogs.com/Tdazheng/p/14981005.html
Copyright © 2011-2022 走看看