mysql - 使用 SQL 查找重复项?

标签 mysql sql

我想知道我的数据库是否包含重复项。如果没有,我知道我的代码正在运行。

我的数据库是这样的:

----------------------------
| id | name | price | link  | 
|---------------------------|
| 202| test | 34.00 | googl |
| 203| halo | 22.00 | bing  |
| 204| hovo | 31.00 | link  |
| 205| test | 34.00 | googl |
-----------------------------

可以看到name、price、link的值是一样的,只是id不同。我考虑过将名称、价格和链接组合在一起并用 having 来计算。例如:

SELECT email, 
COUNT(email) AS NumOccurrences
FROM users
GROUP BY email
HAVING ( COUNT(email) > 1 )

但我的问题是如何按表格中的 3 个属性进行分组。按名称、价格和链接?

最佳答案

您可以在GROUP BY 子句中指定 3 列,例如:

SELECT name, price, link 
FROM users
GROUP BY name, price, link
HAVING COUNT(email) > 1;

关于mysql - 使用 SQL 查找重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42309467/

相关文章:

mysql - 如何在 REPLACE() 函数中使用数组?

MySQL查询未购买的客户

sql - 需要根据 SQL 中的 Number 列乘以行

sql - sql中的分组问题

php - 选择自引用表上未被任何其他行指向的行

MySQL 存储过程没有输出正确的值

mysql - 如何选择两列作为一列?

sql - Red-Gate SQL 源代码控制 (SSC) 中的链接表 - 性能噩梦?

mysql - 获取在一列中只出现一次的值的数量

sql - 如何使用嵌套模型进行复杂的 SQL 查询?