我们做了一个推广,用户可以免费收到他们的第一个订阅订单。价格=$0.00当用户使用促销。我对示例a中的数据感兴趣。
示例a-用户50从促销开始,持续了两个月
order_id user_id price created_at
1 50 0.00 2018-01-15
5 50 20.00 2018-02-15
9 50 20.00 2018-03-15
示例b-用户100已经是一个活跃的订户,他取消了帐户并用促销重新激活,我不想把他算在内
order_id user_id price created_at
2 100 20.00 2018-01-16
3 100 0.00 2018-01-17
7 100 20.00 2018-02-17
--这是我的问题--
这将返回具有多个订单的所有用户
其中至少有一个订单的价格为0.00
-此数据集返回示例a和示例b
--我的问题--
这些数据大部分是正确的(示例a),但我想省略其中的一小部分,因为它们扭曲了我的数据(示例b)。我想删除示例b用户。
我想把第一个订单不是促销品的人除名。
我怎样才能要求他们的第一个订单的价格为0.00?我在想敏的事?
2条答案
按热度按时间jhkqcmku1#
您可以使用以下方法获得第一个订单的时间:
接下来,您可以使用以下公式获得第一个订单的价格:
然后你就可以用
join
,in
,或exists
;thigvfpy2#
你可以用
EXISTS
为了检查零价格的记录没有更早的记录created_at
: