Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 基于非重复字段从表中删除重复项_Mysql - Fatal编程技术网

Mysql 基于非重复字段从表中删除重复项

Mysql 基于非重复字段从表中删除重复项,mysql,Mysql,我需要删除一些基于非重复字段的重复数据 样本数据: |status|Size|id# |income|scan_date | | 0 | 3 |123456| 1000 |2015-10-16| | 1 | 3 |123456| 1000 |2015-10-16| | 1 | 4 |112345| 900 |2015-09-05| | 0 | 7 |122345| 700 |2015-10-01| 当id和扫描日期相同时,我只需要删除状态为0的行 del

我需要删除一些基于非重复字段的重复数据

样本数据:

|status|Size|id#   |income|scan_date |
|  0   | 3  |123456| 1000 |2015-10-16|
|  1   | 3  |123456| 1000 |2015-10-16|
|  1   | 4  |112345|  900 |2015-09-05|
|  0   | 7  |122345|  700 |2015-10-01|
当id和扫描日期相同时,我只需要删除状态为0的行

delete from table
where status=0
and (id, scan_date) in
(select id, scan_date from
(select id, scan_date from table
group by id, scan_date
having count(*) >=2) t1)
在mysql中需要额外的子查询,因为mysql不允许从更新或删除的表中进行选择


更新:见我创建的。我认为您删除了带有t1别名的子查询,尽管我明确警告过您这很重要

当我尝试用实际的表名替换“table”时,出现以下错误:无法指定目标表“stdnt_data_copy”以便从子句中进行更新。是否使用t1别名包含附加子查询?我确实使用t1别名包含子查询。我在这里查看了服务器上运行的mysql版本,它实际上非常旧,4.1.22。这可能是问题的一部分吗?