【问题标题】:WorkbenchJ - Error: aggregates not allowed in GROUP BY clauseWorkbenchJ - 错误:GROUP BY 子句中不允许聚合
【发布时间】:2016-06-03 23:54:28
【问题描述】:

我在网站上发现了一些其他带有此错误消息的线程,但那里的解决方案似乎对我不起作用。

这是我要运行的查询:

SELECT 
    o.name as Name, 
    o.vrank_tav__c as Vrank,
    COUNT(c.enterprise_id) AS #_users_enterprise
FROM 
    (community_csv_james c JOIN 
    salesforce_data_opportunity o ON
c.enterprise_id = o.enterprise_id__c)
GROUP BY #_users_enterprise, Name, Vrank
ORDER BY #_users_enterprise DESC;

当我在 SQL Workbench J 上运行它时,我收到以下错误:

SELECT 
    o.name as Name, 
    o.vrank_tav__c as Vrank,
    COUNT(c.enterprise_id) AS #_users_enterprise
FROM 
    (community_csv_james c JOIN 
    salesforce_data...

ERROR: aggregates not allowed in GROUP BY clause

我已经尝试了一些变体,但我提出了不同的错误消息。我应该如何编写这个查询?

谢谢!

【问题讨论】:

  • 无论您从哪个客户端运行 SQL 语句,MySQL 都会返回错误。声明没有意义。完全不清楚您期望返回什么结果。如果没有示例数据和示例输出,或者除了格式错误的 SQL 语句之外的某种规范,我们只是在猜测。正如目前所呈现的,这个问题没有任何答案......只有猜测。

标签: mysql sql group-by


【解决方案1】:

您不应该将聚合函数(您的 Count())的结果包含在您的 group by 中。该计数将与一个不同的名称/Vrank 相关联,因此您只需要对它们进行分组。这就是为什么它会给你那个特定的错误。

GROUP BY Name, Vrank

MySQL documentation for GROUP BY

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-23
    • 2015-03-04
    • 2013-07-31
    • 2016-02-20
    • 2013-08-31
    • 2012-12-07
    相关资源
    最近更新 更多