【发布时间】:2020-12-17 18:21:35
【问题描述】:
我有一张如下表:
ID NAME SCHOOL GRADUATIONYEAR DEGREE MAJOR
--------------------------------------------------------------------------------------------------
100 Ben University1 2015 Bachelor of Arts Major1
100 Ben University1 2015 Bachelor of Arts Major2
100 Ben University2 2017 Master of Science Major3
由于 Ben 由于双专业而有来自同一所大学的两条记录(您可以看到相同的学校、毕业年份和学位),我只想提取其中一个记录而不是这两个记录,它我拉哪个少校并不重要,只需要一个而不是两个记录。 所以理想情况下,我希望它如下所示:
ID NAME SCHOOL GRADUATIONYEAR DEGREE MAJOR
--------------------------------------------------------------------------------------------------
100 Ben University1 2015 Bachelor of Arts Major1
100 Ben University2 2017 Master of Science Major3
我尝试像下面这样进行删除,但这最终会删除所有记录,是否可以在这种情况下使用 CASE?
DELETE FROM #table1
WHERE ID = ID AND NAME = NAME AND SCHOOL = SCHOOL AND DEGREE = DEGREE
【问题讨论】:
标签: sql sql-server greatest-n-per-group common-table-expression sql-delete