小基炖蘑菇· 2023-06-16 13:47 采纳率: 25%
浏览 42
已结题

如何计算出了每个人得总分 和总排名,但是如何计算出每一个人在自己学校得排名呢(标签-php|关键词-数组)

php tp5有这样一个数组,多个学校得学生成绩在一哥表中

img

我已经计算出了每个人所考总分和总分排名,但是如何计算出每一个人在自己学校得排名呢?

  • 写回答

1条回答 默认 最新

  • threenewbee 2023-06-16 14:04
    关注
    sql写法
    SELECT school, name, 
           RANK() OVER (PARTITION BY school ORDER BY a1 DESC) AS a1_rank,
           RANK() OVER (PARTITION BY school ORDER BY a2 DESC) AS a2_rank
    FROM scores;
    tp写法
    $result = Db::table('scores')
        ->field('school, name, RANK() OVER (PARTITION BY school ORDER BY a1 DESC) AS a1_rank, RANK() OVER (PARTITION BY school ORDER BY a2 DESC) AS a2_rank')
        ->order('school')
        ->select();
    
    print_r($result);
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月19日
  • 已采纳回答 6月19日
  • 修改了问题 6月16日
  • 修改了问题 6月16日
  • 展开全部