如何根据日期字段查找客户的第一笔订单和后续订单的平均成本差?

时间:2019-06-17 02:04:11

标签: sql

问题是,“在已经下达多个订单的客户群中,他们的第一个订单和随后的订单之间的平均成本差异是多少?”

没有特定的RDBMS,这是书面作业问题。任何都可以。

我认为我需要以下WHERE子句:"WHERE COUNT(DISTINCT(O.order_id)) > 1"

我正在为最后一个请求而苦苦寻找第一笔订单和后续订单之间的平均费用差。我是否需要按日期排序,然后以某种方式引用两个订单的值并找到两个订单之间的收入差异的平均值?该怎么办?

该表称为ORDERS,下面是一个示例:

customer_id | order_id | variant_id | quantity | revenue | completed_at
1 | 123 | a1 | 2 | 30 | 2017-01-01
1 | 123 | d4 | 1 | 14 | 2017-01-01
1 | 234 | d4 | 2 | 28 | 2017-01-02
2 | 456 | d2 | 2 | 28 | 2017-02-02

1 个答案:

答案 0 :(得分:0)

我不知道您的整个桌子。只是想假设你的桌子。尝试按日期排序。 我给你举个例子-

选择前100名或.CustomerId, 或.UnitPrice /(从ORDERS订单中选择前1个单价,其中order.CustomerId = or.CustomerId订单按1 asc排序)* 100作为AvgValue 来自ORDERS或按or.CustomerId或or.UnitPrice分组 Count(or.order_id)> 1乘1 desc