我想在 X、Y 和 Z 匹配的表中查找重复项,以最终清理由时间戳标识的旧表。
+------------+-----+----+-----+
| Created | X | Y | Z |
+------------+-----+----+-----+
| 1515622543 | 334 | 72 | 269 |
| 1515622544 | 334 | 72 | 270 |
| 1515622601 | 334 | 72 | 268 |
| 1515622953 | 334 | 72 | 268 |
+------------+-----+----+-----+
在此示例中,有一个重复项X=334, Y=72, Z=268
。我想列出它们 - 所以它最终看起来像:
+------------+-----+----+-----+
| 1515622601 | 334 | 72 | 268 |
| 1515622953 | 334 | 72 | 268 |
+------------+-----+----+-----+
已经尝试过:
select count(distinct X), count(distinct Y), count(distinct Z) from decayworld;
- 这只是计数,不会显示所有 3 个 (X,Y,Z) 匹配的位置。
SELECT X, Y, Z, COUNT(*) FROM decayworld GROUP BY X, Y, Z HAVING COUNT(*) > 1;
+-----+----+-----+----------+
| X | Y | Z | COUNT(*) |
+-----+----+-----+----------+
| 334 | 72 | 268 | 2 |
+-----+----+-----+----------+
- 它计算结果,但不列出它们。