我想知道我的数据库是否包含重复项。如果没有,我知道我的代码正在运行。
我的数据库如下所示:
----------------------------
| id | name | price | link |
|---------------------------|
| 202| test | 34.00 | googl |
| 203| halo | 22.00 | bing |
| 204| hovo | 31.00 | link |
| 205| test | 34.00 | googl |
-----------------------------
您可以看到名称,价格和链接的值相同,但ID不同。我想到了像名称,价格和链接这样的东西,并将其计算在内。像这样举例如:
SELECT email,
COUNT(email) AS NumOccurrences
FROM users
GROUP BY email
HAVING ( COUNT(email) > 1 )
但我的问题是我如何按照表格中的3个属性进行分组。按名称,价格和链接?
答案 0 :(得分:2)
您可以在GROUP BY
子句中指定3列,例如:
SELECT name, price, link
FROM users
GROUP BY name, price, link
HAVING COUNT(email) > 1;
答案 1 :(得分:2)
您可以一次按多个字段进行分组。
选择a,b,c,COUNT(d) 来自someTable GROUP BY a,b,c 有计数(d)> 1
希望这有帮助。
答案 2 :(得分:1)
按多列分组,并计算组大小:
SELECT name, price, link, Count(*) as cnt
FROM table_name
GROUP BY name, price, link
where cnt>1