Mysql 清除垃圾记录的Sql查询

Mysql 清除垃圾记录的Sql查询,mysql,sql,Mysql,Sql,不知何故,一个表有垃圾数据,需要清理它并生成一个新表 我认为它应该使用用例或一些行号,尝试了一些,失败了 数据库是mysql 原始表格: Student Registration Course John CS John 2018 John 2017 Peter 2019 MATH Mary 2016 MATH Mary 2016

不知何故,一个表有垃圾数据,需要清理它并生成一个新表

我认为它应该使用用例或一些行号,尝试了一些,失败了

数据库是mysql

原始表格:

Student Registration    Course
John                    CS
John    2018            
John    2017            
Peter   2019            MATH
Mary    2016            MATH
Mary    2016            CS
规则是,如果我们有一个学生的重复记录,将它们合并在一起,以便注册,最多取一年。如果没有任何列丢失,比如Mary。按课程asc订购,取第一条记录。因此,结果将是:

Student Registration    Course
John    2018            CS
Peter   2019            MATH
Mary    2016            CS

看起来您需要聚合:

select student
     , max(registration) as registration
     , min(course) as course
  from original
 group 
    by student;

看起来您需要聚合:

select student
     , max(registration) as registration
     , min(course) as course
  from original
 group 
    by student;

让我们在组合中加入
Mary 2016 CS
。现在,结果应该是什么样子?如果是这种情况,按课程asc排序,取第一个,CSrule更新@草莓,你提了个好问题。谢谢。让我们在组合中加入
Mary 2016 CS
。现在,结果应该是什么样子?如果是这种情况,按课程asc排序,取第一个,CSrule更新@草莓,你提了个好问题。谢谢