gpt4 book ai didi

php - Mysql删除重复行的方法

转载 作者:行者123 更新时间:2023-11-29 06:19:53 24 4
gpt4 key购买 nike

我有一个这样的Mysql表

supplierranks_new

Id
supplierid
userid
rank

现在我有一个垃圾数据,其中 userid=1837 的用户对一个供应商的排名太多次,所以有多行相同的排名,我想删除所有这些并保留一个

例如

1 267 1837 23
2 267 1837 23
3 267 1837 23
4 267 1837 23
5 267 1837 23
6 268 1837 1
7 268 1837 1
8 268 1837 1
9 268 1837 1
10 268 1837 1

现在我想改成这样

 1 267 1837 23
6 268 1837 1

知道如何编写查询

谢谢

最佳答案

您可以使用以下查询:

DELETE FROM supplierranks_new
WHERE `Id` NOT IN (
SELECT `Id`
FROM (SELECT MIN(`Id`) AS `Id`
FROM supplierranks_new
GROUP BY `supplierid`, `userid`, `rank`) AS t )

这将删除supplieriduseridrank 切片。

请注意在 NOT IN 运算符中使用子查询以避免:

You can't specify target table 'supplierranks_new' for update in FROM clause

错误。

Demo here

关于php - Mysql删除重复行的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33871839/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com