gpt4 book ai didi

mysql - SQL识别k天内下单次数超过m次的客户

转载 作者:行者123 更新时间:2023-11-29 02:53:40 26 4
gpt4 key购买 nike

我在 MySQL 中有一个销售表如下:

CustomerID    OrderDate
101 2014-12-11
102 2014-12-13
101 2014-12-14
103 2014-12-15
... ...

如果我想找出哪些客户在任意 10 天内订购超过 5 次,或者更一般地说,在任意 k 天内订购 m 次,我应该怎么做?我已经尝试过自行加入,但在任何 k 天后都无法获得结果。

最佳答案

你可以这样做:

SELECT customerID, OrderDate, COUNT(*) AS num, (SELECT OrderDate FROM table AS b WHERE b.OrderDate < t.OrderDate + INTERVAL 10 DAY ORDER BY OrderDate DESC LIMIT 1) AS EndDate
FROM table AS t
GROUP BY customerID, EndDate
HAVING OrderDate <= EndDate AND num >= 2

它将返回客户有超过 5 个订单的所有期间。请注意,如果同一客户在 2 个或更多时期内有超过 5 个订单,您将拥有多个记录。如果您希望每个客户一行,只需使用 DISTINCT select

包装查询

关于mysql - SQL识别k天内下单次数超过m次的客户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32964041/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com