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

SQL查询:找出同校同年级重复行并按性别分组

解决方案

需求说明

从学生表中查询所有存在多名学生共享相同School和Year值的行,无需指定具体的School和Year参数,最终结果按Gender字段分组展示。

学生表示例

NameSchoolYearGender
JohnSt Mark's1M
PaulSt Mark's1M
DavidSt Peter's2M
SallySt Mark's3F
LucySt Peter's1M

SQL 查询语句

-- 先筛选出有多名学生的School+Year组合
WITH DuplicateClasses AS (
    SELECT School, Year
    FROM Students
    GROUP BY School, Year
    HAVING COUNT(*) > 1
)
-- 关联原表获取符合条件的学生记录,并按Gender分组排序
SELECT s.Name, s.School, s.Year, s.Gender
FROM Students s
JOIN DuplicateClasses dc ON s.School = dc.School AND s.Year = dc.Year
ORDER BY s.Gender;

查询结果

NameSchoolYearGender
JohnSt Mark's1M
PaulSt Mark's1M

逻辑说明

  1. 用CTE DuplicateClasses先找出学生数量超过1的School+Year组合
  2. 将原学生表与这个CTE关联,过滤出属于这些重复组合的学生记录
  3. 最后按Gender字段排序,实现分组展示效果(若需聚合统计,可在SELECT中添加COUNT(*)等函数并配合GROUP BY Gender)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 12:57:29