在 MYSQL Where 子句中使用 COUNT(*) AS `COUNT`

Eri*_*int 2 mysql count

我正在尝试查找、计算和报告列中重复条目的所有实例。任何想法如何做到这一点类似于我在下面的尝试。

SELECT `Id`, COUNT(*) AS `COUNT`
FROM `testproductdata`
WHERE `COUNT` > 1
GROUP BY `Id`
ORDER BY `COUNT` DESC;
Run Code Online (Sandbox Code Playgroud)

我收到 1054 错误:COUNTwhere 子句中的未知列。

Rav*_*ddy 6

使用HAVINGWHEREGROUP BY

SELECT `Id`, COUNT(*) AS `COUNT`
FROM `testproductdata`
GROUP BY `Id`
HAVING  `COUNT` > 1
ORDER BY `COUNT` DESC;
Run Code Online (Sandbox Code Playgroud)

我建议使用相关名称来表达count(*)as total_countthanCOUNT

更改查询如下:

SELECT `Id`, COUNT(*) AS `total_count`
FROM `testproductdata`
GROUP BY `Id`
HAVING  `total_count` > 1
ORDER BY `total_count` DESC;
Run Code Online (Sandbox Code Playgroud)