sql-server - 根据列而不是整行删除重复项
问题描述
我希望我的代码以共同因素收集成绩表和学生表STUDENT_ID
。使用该DISTINCT
子句,它会删除重复的行,但我希望它不会PERSON_ID
多次显示相同的内容,因此它只会显示STUDENT_ID
一次。
这是一个巨大的数据文件。
SELECT DISTINCT
grades.PERSON_ID, grades.GRADE,
students.PERSON_ID, students.ENROLL_PERIOD
FROM
students
INNER JOIN
grades ON students.PERSON_ID = grades.PERSON_ID
WHERE
ENROLL_PERIOD < 132
ORDER BY
students.ENROLL_PERIOD
以前的样本-> 学生:
PERSON_ID PROGRAM_ID ENROLL_PERIOD
12401 82 109
12401 4549 112
720921 5921 112
832521 9981 114
以前的样本-> 等级:
PERSON_ID GRADE GRADE_DATE GRADE_TYPE
2308133 7 16-06-26 p
2308133 10 18-01-24 p
2308133 4 16-02-01 p
将 2 个表合并时的示例,如下所示:
PERSON_ID GRADE PERSON_ID ENROLL_PERIOD
12401 00 12401 109
12401 02 12401 112
720921 00 720921 112
832521 00 832521 114
在这里我们看到,“12401”行存在两次,因为只有当整行不同时才应该跳过第二个“12401”并跳转到下一个(例如12491)
PERSON_ID GRADE PERSON_ID ENROLL_PERIOD
12401 00 12401 109
720921 00 720921 112
832521 00 832521 114
解决方案
推荐阅读
- c - 如何检查GLUT中是否未按下键?
- java - Java-字符数组接受整个字符串,即使声明的大小较小
- android - 通过 ADB 和端口 5555 控制另一个设备
- python - 在不使用 fstrings 修改精度的情况下从 float 中删除尾随 `.0`
- ruby - 如何检查在另一个方法 rspec 中调用的方法的返回值?
- snowflake-cloud-data-platform - 雪花拉动 MaestroQA 数据
- shell - MobaXtern - 如何在 Moba 自己的 bash 终端中运行 bash shell 脚本?
- sql - Access 或 SQL:需要帮助从在查询中动态选择字段名称的字段返回数据
- api - 无法将 APIMan 中的端点 URL 更改为公共 IP
- flutter - “FirebaseMessaging”类没有默认构造函数 Flutter 2