Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MYSQL Where子句中使用COUNT(*)作为'COUNT'_Mysql_Count - Fatal编程技术网

在MYSQL Where子句中使用COUNT(*)作为'COUNT'

在MYSQL Where子句中使用COUNT(*)作为'COUNT',mysql,count,Mysql,Count,我试图在一列中查找、计数和报告所有重复条目的实例。你知道如何做到这一点吗?类似于我下面的尝试 SELECT `Id`, COUNT(*) AS `COUNT` FROM `testproductdata` WHERE `COUNT` > 1 GROUP BY `Id` ORDER BY `COUNT` DESC; 我得到一个1054错误:where子句中的未知列COUNT 尝试向查询中添加DISTINCT SELECT * FROM ( SELECT DISTINCT `Id`, (SE

我试图在一列中查找、计数和报告所有重复条目的实例。你知道如何做到这一点吗?类似于我下面的尝试

SELECT `Id`, COUNT(*) AS `COUNT`
FROM `testproductdata`
WHERE `COUNT` > 1
GROUP BY `Id`
ORDER BY `COUNT` DESC;

我得到一个1054错误:where子句中的未知列
COUNT

尝试向查询中添加
DISTINCT

SELECT * FROM (
SELECT DISTINCT `Id`, (SELECT COUNT(Id) FROM `testproductdata` WHERE `Id`=`Id`) `count`
FROM `testproductdata`
GROUP BY `Id`
HAVING `count` > 1
)
ORDER BY `count` DESC;
试试这个

select * from 
(SELECT `Id`, COUNT(*) AS `c`
FROM `testproductdata`
group by `Id`)
WHERE `c` > 1
ORDER BY `c` DESC;


使用
置于
上,其中
分组方式一起使用

SELECT `Id`, COUNT(*) AS `COUNT`
FROM `testproductdata`
GROUP BY `Id`
HAVING  `COUNT` > 1
ORDER BY `COUNT` DESC;
我建议使用相关名称来表示
count(*)
作为
total\u count
than
count

更改查询如下:

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

您应该更改“拥有”的位置,这应该可以:

SELECT Id, COUNT(1) AS count
FROM testproductdata
GROUP BY Id
HAVING COUNT(1) > 1
ORDER BY COUNT(1) DESC;

我得到一个1054错误:where子句中的列计数未知。为什么不?。哦哈哈哈。。。我看到XD--需要重命名字段。。。另外,不要将
用作
。。。“只有空间。”萨努埃尔·杰克逊还没有。“一般来说,使用的子句必须完全按照语法描述中显示的顺序给出。例如,HAVING子句必须位于任何GROUP BY子句之后,任何order BY子句之前。”请参阅使用GROUP BY。。拥有COUNT、self-join或嵌套select。这样就行了,你能把它作为答案提交给我,这样我就可以接受它了。@Eric:嗯,另一个MySQL的奇怪之处(或至少是不同之处)让我印象深刻。它行得通。更好的做法是不要使用like
count
作为标识符,尽管这是一种可以接受的无回勾的方法
SELECT Id, COUNT(1) AS count
FROM testproductdata
GROUP BY Id
HAVING COUNT(1) > 1
ORDER BY COUNT(1) DESC;