为啥这个查询失败了?

Posted

技术标签:

【中文标题】为啥这个查询失败了?【英文标题】:why this query is faling?为什么这个查询失败了? 【发布时间】:2011-08-08 10:27:39 【问题描述】:
select max( sum(duration) ),cd from rent group by cd; 

.

ERROR 1111 (HY000):组函数使用无效

【问题讨论】:

因为你没有什么可分组的? 这种分组方式无论如何都不合适,检查mysql文档你得到的结果甚至可以跨越所有期望的限制,只能按聚合中使用的字段分组功能 【参考方案1】:

来自文档 - 对值集进行操作的分组(聚合)函数。。 SUM 返回标量值。

这是你想要的吗?

SELECT MAX(duration_sum_by_cd) FROM (
  SELECT SUM(duration) duration_sum_by_cd FROM rent 
    GROUP BY cd; 
) t

【讨论】:

【参考方案2】:

那个查询很糟糕。首先,我认为您不能在总和周围设置最大值...第二,您正在对不在所选列中的列“cd”进行分组。

我建议从here做一些/许多教程

【讨论】:

-1 您可以在 CD 上分组,只是不能在 SUM 上达到最大值,因为 SUM 输出单个值。 你为什么投反对票?伙计们的查询以前是 select max( sum(duration) ) from rent group by cd; 它在选择中没有 cd... 是的,这就是我投反对票的原因!你可以在 CD 上做一个组,即使你选择的没有 CD。所以你的答案是错误的。

以上是关于为啥这个查询失败了?的主要内容,如果未能解决你的问题,请参考以下文章

为啥这个 SQL 查询失败

为啥这个 Django 模型上的这个非常基本的查询会失败?

为啥反引号在 PDO 查询中失败? [复制]

为啥我的 SQL 查询在 MySQL 工作台中失败?

为啥@jdbc 查询因连接超时而失败?

将 Grafana 连接到 MySQL 显示查询失败,为啥?