获得在未知时间段内具有特定金额总购买量的用户

时间:2017-05-02 16:28:31

标签: php mysql sql

我想让桌面上的用户在50天内至少购买20,000美元。

例如

- >用户可能在200天前购买了一笔服务,金额为5,000,并在180天前购买了另一笔服务,金额为10,000,而他购买的另一项服务是160天前,金额为5,000。

因此它们之间的时间小于50,总金额至少为20,000,那么他就是应该返回的用户。

另一个例子 - >一个用户在80天前购买了一项金额为10,000的服务,另一项服务在40天前购买了5,000金额,最后一次服务是在20天前的5,000次

因此金额为20,000,但他在50天内无法填写,因为他的最后一次购买是在第一次购买后60天,所以他不能成为我们想要的用户。

然而如果此用户在10天前以10,000的金额购买了另一项服务,那么他可以成为该用户,因为他的第二次,第三次和第四次购买是在50天内并且至少有20,000次。

我尽可能多地解释。

关键是日期可以是2年前的一天,也许用户可以在5个产品中填写20,000个。

我在这里附上我的桌子照片,所以如果你为这张桌子写一个查询,那就非常好了。

只有一张桌子。

invoice table

我的表格中的总列数是1具体购买的价格。

,日期列是日期列。

修改

这是我得到的查询,它只是得到了总数,我的问题是随着时间的推移。

SELECT invoice.userid, Sum(invoice.total) AS totsam
FROM invoice
GROUP BY table.userid
HAVING totsam > 20000

2 个答案:

答案 0 :(得分:0)

的内容

SELECT * FROM table WHERE days< 50 AND totalAmount> 20000

答案 1 :(得分:0)

SELECT * 
FROM invoice_table 
WHERE 
    (DATEDIFF(CURDATE(),invoice_table.date)<50 
    AND SUM(total)>20000)