0

我有一个问题,我编写了一个脚本来查找不止一所学校的学生,并且我得到了该学校下每个班级的重复记录。

问题是学生共享相同的唯一主键,所以我不能按那个分组。而且我不能按学校或班级分组,因为那样会淘汰其他学生。

基本上我想根据学校对每个学生的所有记录进行分组,这样每个学生每所学校只有 1 条记录。

我真的不在乎分组显示什么班级,因为我真的想找到在不止一所学校中列出的学生。

例如

id    first    Last    Class School
22     mike     bundy    1     tan
22     mike     bundy    2     tan
22     mike     bundy    3     light

我想把它归结为这个

id    first    Last    Class School
22     mike     bundy    1     tan
22     mike     bundy    3     light
4

1 回答 1

1

您可以简单地使用 group by 子句来获取每所学校的单个记录。像

SELECT
        user.user_id,
        user.last_name,
        user.first_name,
        student.sis_id,
        organization.`NAME`AS school,
        count(*) as Count
    FROM
        user
    JOIN student ON user.user_id = student.user_id
    JOIN x_user_group ON _user.user_id = x_user_group.user_id
    JOIN group ON _x_user_group.group_id = group.group_id
    JOIN organization ON group.owner_id = organization.organization_id
Group by
        user.user_id,
        user.last_name,
        user.first_name,
        student.sis_id,
        school
Order by
        user.last_name,
        user.first_name

使用 group by 时需要聚合函数计数。只需在结果集中忽略它。现在,每所学校都有一名学生。

于 2013-05-17T19:02:15.400 回答