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

验证Netezza SQL按初始专业分组统计在校年限逻辑正确性

SQL逻辑验证:初始专业对在校年限的影响分析

你的SQL逻辑完全符合需求,以下是具体验证说明:

核心逻辑拆解

1. 获取学生初始专业(CTE earliest_major)

通过ROW_NUMBER() OVER (PARTITION BY student_id ORDER BY year)为每个学生的记录按年份排序,取第一条(rn=1)的current_major作为初始专业。由于题目明确首年不可转专业,这一步能准确获取每个学生入学时的专业,逻辑正确。

2. 生成学生在校年份组合(子查询a)

按student_id分组,用MAX(CASE...)标记学生是否在对应年份有在校记录(同一年多次转专业或考试不影响,只要存在记录就标记为1),最终得到每个学生的在校年份组合(如2010和2013年在校则对应year_2010=1, year_2013=1,其余为0),这一步准确统计了每个学生的在校年份分布。

3. 关联分组统计

将学生的年份组合与初始专业关联后,按初始专业和年份组合分组计数,实现了"先统计各学生在校年份组合及对应人数,再按初始专业分组"的需求,逻辑闭环完整。

基于样本数据的预期输出

根据你提供的样本数据集,执行该SQL会得到以下结果:

earliest_majoryear_2010year_2011year_2012year_2013year_2014year_2015COUNT(*)
Science1001001
Science1101001
Arts1000011
Arts1001001
Arts1110001

这个结果完全匹配样本数据中各学生的初始专业和在校年份分布,进一步验证了逻辑的正确性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 03:02:40