添加“GROUP BY”时MySQL子查询出错

布赖恩

我正在使用 MariaDB,下面的子查询会返回结果,但是如果我添加最后一行,即“GROUP BY links_item”,它会返回错误“检查与您的 MySQL 服务器版本相对应的手册”。

不确定为什么使用 GROUP BY 是错误的。我需要从子查询结果中为每个唯一的linked_item 输出一个totalsum - 任何实现此结果的方法都可以。

此代码返回正确的两列子查询结果

SELECT linked_item, totalsum 
FROM 
(SELECT a.linked_item, a.total_actual_cost as totalsum FROM pl_detail a
WHERE a.total_actual_cost IS NOT NULL
UNION
SELECT b.linked_item, (b.number_units*b.cost_per_unit) as totalsum 
FROM pl_detail b 
WHERE b.total_actual_cost IS NULL) t

添加此行时出错:

GROUP BY linked_item
达里尔·温曼-贝特森

在 SELECT 中使用 SUM(或其他聚合函数)

SELECT linked_item, SUM(totalsum) as TotalSum
FROM 
(SELECT a.linked_item, a.total_actual_cost as totalsum FROM pl_detail a
WHERE a.total_actual_cost IS NOT NULL
UNION
SELECT b.linked_item, (b.number_units*b.cost_per_unit) as totalsum 
FROM pl_detail b 
WHERE b.total_actual_cost IS NULL) t
GROUP BY linked_item

所有列都必须是 GROUP BY 子句中的聚合函数或

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章