mysql sheet表中有A列B列数据,但是没有主键id,A列的值去重保留自身一个值,B列对应行的数据也被去除的语句怎么写
时间: 2024-03-21 15:43:27 浏览: 90
可以使用以下SQL语句来实现:
```
DELETE t1 FROM your_table t1, your_table t2
WHERE t1.A = t2.A AND t1.B < t2.B;
```
这个语句会删除表中A列值相同且B列值较小的记录,保留B列值较大的记录。注意在实际操作中请先备份数据,以免误删。
相关问题
mysql sheet表中有A列B列数据,但是没有主键id,A列的值去重,B列对应行的数据也被去除的语句怎么写
可以使用MySQL的DELETE语句结合子查询来实现该需求,具体语句如下:
```
DELETE FROM your_table
WHERE A IN (
SELECT A
FROM your_table
GROUP BY A
HAVING COUNT(*) > 1
);
```
上述语句会删除表中A列重复的行,同时也会删除对应B列的数据。其中,子查询会找出所有重复的A列值,然后在DELETE语句中进行删除操作。请注意,在执行该语句之前请务必备份好数据以防误操作。
mysql sheet表中有A列B列数据,但是没有主键id,A列的值去除重复值(保留一个值),B列对应行的数据也被去除的语句怎么写
可以使用以下SQL语句来实现:
```
DELETE FROM your_table WHERE (A, B) NOT IN
(SELECT MIN(A), B FROM your_table GROUP BY A);
```
这个语句会删除表中除A列值最小的记录外,其它A列值相同的记录,保留对应行B列的数据。注意在实际操作中请先备份数据,以免误删。
阅读全文