用内连接去删除重复值报错

来源:2-9 修改数据表结构

Eileen亿亿

2021-10-25 17:02:13

我在mysql里面删除重复值,先开始使用了一种方法这种是成功的,用了一个临时表

DELETE FROM test_2

WHERE id NOT IN 

(SELECT t.min_id FROM

(SELECT min(id) min_id

FROM test_2

GROUP BY  num,name,course_no,course_na,grade) as t);


然后下面这种我就想用表的内连接之后去删除,不知道哪里不对,就报错:Operand should contain 1 column(s)

我尝试修改了,但还是不对,只是去执行内连接的部分,是没有问题的。

DELETE FROM test_2

WHERE id NOT IN 

(SELECT * 

FROM test_2 AS e JOIN (SELECT min(id) id FROM test_2 

GROUP BY num,name,course_no,course_na,grade) AS t 

ON e.id = t.id) ;


写回答

1回答

时间,

2021-10-25

同学,你好!报错原因是not in条件后面有多个字段,not in后面只能有一个字段。可以写一个具体的字段名

https://img.mukewang.com/climg/617679f109e4e49e04350262.jpg

祝学习愉快!

0

0 学习 · 4470 问题

查看课程