SQL“无法对包含聚合或子查询的表达式执行聚合函数。”

问题描述 投票:0回答:1

寻求一些帮助。

在尝试计算涉及总和的 case 语句的结果时,我收到以下错误。

我正在尝试找到一些解决方法,因为我知道这不是正确的方法,但我完全被难住了。

用英语我想:

统计总商品数量为1的订单数量。

我使用的SQL是:

,计数(案例 当 SUM(delivery_line_item.dli_qty) = 1 那么 1 别的 0 结尾) AS 单线订单

如果没有 Count 语句,查询返回结果为 1,我需要统计 dli_qty 之和 = 1 的所有实例。

希望有人能帮忙:)

谢谢

mysql count sum case
1个回答
0
投票

假设您的

delivery_line_item
表有一个
order_id
列,您将执行以下操作:

SELECT COUNT(*) AS SingleLineOrders
FROM (
    SELECT order_id
    FROM delivery_line_item
    GROUP BY order_id
    HAVING SUM(dli_qty) = 1
) t;

派生表返回所有dli_qty之和为1的order_id,然后外层查询统计order_ids。

© www.soinside.com 2019 - 2024. All rights reserved.