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

如何在SQL中按条件筛选唯一记录,提取每位校友最新完成的学业信息

校友数据集保留单条记录(取最晚学业阶段)解决方案

核心逻辑

以学生ID作为校友唯一识别标识,同一ID下仅保留毕业年份最大值对应的行即可。

注:若存在同一校友同一年毕业多个项目的情况,可在排序规则中补充学业阶段优先级(如博士>硕士>本科)作为第二排序条件,确保保留最高学段记录。

Excel 实现步骤

  • 全选数据集,先按「学生ID」升序排序,再按「毕业年份」降序排序,保证同一ID下最新的记录排在最前
  • 新增辅助列,在表头下第一行输入公式=COUNTIF($A$2:A2,A2)(假设A列为学生ID所在列),下拉填充所有行
  • 筛选辅助列值为1的行,导出即可得到所需结果

SQL 实现代码

假设表名为alumni,对应字段为student_id(学生ID)、name(姓名)、education_background(受教育经历)、grad_year(毕业年份),实现代码如下:

SELECT student_id, name, education_background, grad_year
FROM (
    SELECT 
        *,
        ROW_NUMBER() OVER(PARTITION BY student_id ORDER BY grad_year DESC) AS rank_num
    FROM alumni
) t
WHERE rank_num = 1;

Python Pandas 实现代码

import pandas as pd

# 读取数据集,可根据实际文件格式替换为read_csv等方法
df = pd.read_excel("your_file_path.xlsx")

# 按毕业年份倒序排序后按学生ID去重,保留第一条记录
result_df = df.sort_values("grad_year", ascending=False).drop_duplicates("student_id", keep="first")

# 导出处理后的结果
result_df.to_excel("processed_alumni_data.xlsx", index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 00:45:02