繁体   English   中英

mysql 1111无效使用组功能

mysql 1111 invalid use of group function

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

此查询工作正常:

SELECT leads.contact_id, count(leads.contact_id) as orders 
FROM leads
WHERE leads.status="sold" 
GROUP BY leads.contact_id    

但这不是。 为什么?

SELECT leads.contact_id, count(leads.contact_id) as orders
FROM leads
WHERE orders > 1 and leads.status="sold" 
GROUP BY leads.contact_id    

执行此查询时出现错误

1054-“ where子句”中的未知列“ orders”

即使用count(leads.contact_id)替换订单也不起作用:

SELECT leads.contact_id, count(leads.contact_id) as orders
FROM leads
WHERE count(leads.contact_id) > 1 and leads.status="sold" 
GROUP BY leads.contact_id 

返回以下错误消息:

1111-无效使用组功能

2 个回复

如果您了解SQL的操作顺序,您将知道为什么查询不起作用。

FROM clause
WHERE clause
GROUP BY clause
HAVING clause
SELECT clause
ORDER BY clause

SELECTGROUP BY之前先评估WHERE子句。 因此,它将不知道count(leads.contact_id)orderscount(leads.contact_id) HAVING上除后评估GROUP BY 它用于过滤聚合。

SELECT leads.contact_id, count(leads.contact_id) as orders 
FROM leads
WHERE leads.status="sold" 
GROUP BY leads.contact_id  
HAVING orders > 1

我应该使用HAVING而不是WHERE,因为WHERE仅可用于过滤原始数据表,而不能用于过滤计算出的数据表。 但是列数(leads.contact_id)订单是计算列,而不是表的原始列,因此我不得不像这样使用HAVING使其起作用:

SELECT leads.contact_id, count(leads.contact_id) as orders 
FROM leads
WHERE leads.status="sold" 
GROUP BY leads.contact_id  
HAVING orders>1

另请参阅此详细说明

3 MYSQL #1111 - 组函数的使用无效

我正在尝试选择: Ccid 和每年犯罪指控较多的被告姓名,按性别分开(按性别划分的指控较多)。 注意:如果出现平局,则应列出平局中的所有被告。 结果应按年份降序排列,按性别、ccid 和姓名升序排列。 我试过这个: 我收到此错误: #1111 - 无效使用组功能 但我不明白为什么 ...

5 MYSQL-“#1111-无效使用组函数”错误

我正在为学校项目编程一个气象站。 在mysql中,我的读数有1个表,计算值有另一个表。 我编写了一个mysql查询,用计算的值更新第二个表。 当我运行此查询时,我收到此错误 1111-无效使用组功能 我不知道我在做什么错。 我的查询: 该查询应每小时获取 ...

2016-05-05 14:41:22 1 96   mysql
6 #1111-无效使用组函数-MYSQL

好吧,我正在使用以下查询,但是我收到以下错误(#1111-组功能的无效使用)。 这是查询: 如果我在CASE WHEN THEN内删除SUM(),则查询有效。 但是,我没有得到我需要的准确结果。 任何帮助都感激不尽。 谢谢。 ...

2017-01-18 18:09:28 1 28   mysql
8 #1111 - 无效使用组功能

我正在使用以下查询来尝试获取从每个项目中检索最大数量的幻灯片的总数(总和),但是我收到以下错误(#1111 - 无效使用组功能)。 这是查询: 如果我删除SUM(),然后它可以工作,但是,我没有得到所有项目/幻灯片的准确总数。 提前感谢任何和所有回复。 ...

9 #1111-无效使用组功能

以下查询失败并抱怨#1111 - Invalid use of group function由于IF循环中嵌入了两个SUM()调用#1111 - Invalid use of group function 。 到现在为止,我试图在迁移到另一个SQL查询时实现相同的目标,但是我遇到了麻烦,请问有 ...

10 无效使用组功能1111

我一直在无效使用组功能。 我正在寻找一个表的值求和,并将答案返回到原始表。 我将在触发器中使用它。 但是我一直在无效使用组函数1111 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM