我正在使用 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] 删除。
我来说两句