【发布时间】:2020-02-29 04:35:46
【问题描述】:
我需要从 2015 年 1 月 1 日开始仅获得这些订单的总金额的平均值。不知何故,我没有得到预期的结果。
问题陈述:为每个客户返回他们的 ID、姓名和平均总订单 从 2015 年 1 月 1 日(含)开始的订单金额。仅显示至少下过 2 个订单的客户。
由于涉及多个条件,我创建了查询,包括 where、group by 和 having 子句,如下查询所示
SELECT c.CustomerId, c.CustomerName, AVG(o.total)
FROM db_order.Customer c JOIN db_order.orders o
on c.customerId = o.customerId
where o.orderDate >= 01-01-2015
group by o.CustomerId, c.CustomerName
having count(o.orderId) >= 2
预期输出有 6 行,实际有 8 行。即使是平均总数,返回的结果也存在差异。
SQL 小提琴: http://sqlfiddle.com/#!9/d872bf Db Fiddle 完整数据:https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=dd6fcb2a41634b0e4beb8acc3288e922
【问题讨论】:
-
嗨@sunny93 我们可以看到一些数据吗?谢谢!
-
你能添加一些示例数据吗?见meta.stackoverflow.com/questions/333952/…
-
当然,这是架构sqlfiddle.com/#!9/d872bf
-
@sunny93 - 和数据?
-
无法添加数据,显示太大