You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为科目分数数据表的每一行更新对应科目的最高、最低分数

核心逻辑为按科目分组计算对应科目的最高分、最低分,再将计算结果匹配到该科目下的所有行,常用工具的实现方案如下:

1. SQL 实现

使用窗口函数可以直接完成分组计算,无需额外关联表:

SELECT 
    subject,
    Marks,
    MAX(Marks) OVER (PARTITION BY subject) AS maxmarks,
    MIN(Marks) OVER (PARTITION BY subject) AS minmarks
FROM 你的表名;

2. Python Pandas 实现

用groupby+transform可以直接把分组聚合结果映射回原表的每一行:

import pandas as pd

# 假设原数据存储在df变量中
df['maxmarks'] = df.groupby('subject')['Marks'].transform('max')
df['minmarks'] = df.groupby('subject')['Marks'].transform('min')

3. Excel 实现

假设你的数据中,subject列为A列、Marks列为B列,表头在第1行,数据从第2行开始:

  • maxmarks列(C列)C2单元格输入公式:=MAXIFS(B:B,A:A,A2),下拉填充所有行
  • minmarks列(D列)D2单元格输入公式:=MINIFS(B:B,A:A,A2),下拉填充所有行

如果使用的是没有MAXIFS/MINIFS函数的旧版Excel,改用数组公式:

  • C2输入=MAX(IF(A:A=A2,B:B)),按「Ctrl+Shift+Enter」组合键确认后下拉
  • D2输入=MIN(IF(A:A=A2,B:B)),按「Ctrl+Shift+Enter」组合键确认后下拉

内容的提问来源于stack exchange,提问作者Kanna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 22:48:02