本文共 716 字,大约阅读时间需要 2 分钟。
SQL练习42:删除emp_no重复的记录,只保留最小的id对应的记录
ngemp_no重复的记录,只保留最小的id对应的记录。针对这个问题,我可以通过以下步骤来解决:
首先,查看数据库中有哪些emp_no记录是重复出现的。在titles_test表中,我发现:
接下来,我需要从中只保留每个emp_no对应的最小的id记录。
为了选择每个emp_no对应的最小的id,我可以使用GROUP BY语句和MIN()函数。具体步骤如下:
此外,我需要删除所有不符合上述最小id记录的数据。因此,我使用了 DELETE FROM 关键字,并使用子查询来确定哪些记录需要删除。
为了确保子查询结果正确,我使用了一个 alias,这样可以避免与原表直接操作带来的问题。具体的实现步骤如下:
通过这种方法,我确保每个emp_no只保留一次最小的id记录。
最终操作如下:
请注意,子查询的结果必须正确使用 alias,否则可能导致错误。
最终,运行删除操作后,titles_test表将只包含每个emp_no对应的最小id记录。
转载地址:http://bojtz.baihongyu.com/