php - SQL:删除重复的行? (PHP)

标签 php mysql sql duplicates

我有以下数据库,想删除红色的,因为它们是双重的。所以我必须检查每一行是否另一行通过 pid、价格、price_old、链接和商店匹配。

但是我如何检查它,然后如何删除它呢?

enter image description here

也许更简单的方法是从每行内的值生成一个 id。因此,如果一行中的值相等,则 id 也将相等,并且只有一个值可以与其他 id 进行比较。 那是更好的方法吗? - 如果是,我该怎么做?

您好!

最佳答案

如果您无法获得不同的行,您可以使用

添加 uniqie id
ALTER TABLE my_table
 ADD id int NOT NULL AUTO_INCREMENT

完成后,您可以在 id 不是按定义重复所需的值分组的最小值的地方使用 not

delete from my_table 
where id  NOT in ( select min(id) from my_table
                  group by shop, link 
                  )

关于php - SQL:删除重复的行? (PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42176998/

相关文章:

sql - 连接到与网站 : localhost or ip adress? 相同的服务器上的 SQL Server 数据库

php - 如何从 Laravel 中的用户 ID 获取用户名?

javascript - Javascript/PHP/Codeigniter 中的悬停事件

javascript - 由 JQuery load() 注入(inject) DIV 的 PHP 文件可以找到有关该 DIV 的任何信息吗?

php - CodeIgniter 在 Html 的每个实例上迭代输出行

php - 如何对日期进行切片,以便我只能与月份和日期进行比较?

php - 为多个站点使用中央数据库服务器 : plausible?

sql - 相当于oracle sql中的`show create table`

php - 您应该在带有 CloudFlare 的 PHP 站点上使用什么缓存 header ,以便 "Always Online"有效?

sql - 使用 SqlBulkCopy 和 F# 在 SQL 中导出矩阵