假设您有一个用户表,其中包含他们的注册日期。 另一张表显示了他们的收入 我们如何计算每个成员(member)自使用 mySQL 命令注册以来 6 个月或 9 个月的收入金额?
表 1 有 2 列:1. user_id 2. date_of_join 表 2 有 4 列:1.purchase_id 2.user_id 3.purchase_amount 4.purchase_date。
我想做这样的事情
SELECT Users.user_id, AVG(Purchases.purchase_amount)
FROM Users
INNER JOIN Purchases
WHERE MONTH(Users.date_of_join) = 06
AND AVG(Purchases.purchase_amount) BETWEEN Users.date_of_join AND DATE_ADD(date_of_join, INTERVAL 30);
最佳答案
您需要总收入还是每次购买的平均收入?
如果您只需要总计,那么您可以尝试这样的操作 -
SELECT U.USER_ID, SUM(PURCHASES.PURCHASE_AMOUNT)
FROM USERS U
INNER JOIN PURCHASES P
ON U.USER_ID = P.USER_ID
WHERE P.PURCHASE_DATE >= U.DATE_OF_JOIN
AND P.PURCHASE_DATE < DATE_ADD(U.DATE_OF_JOIN, INTERVAL 6 MONTH)
GROUP BY U.USER_ID;
对于平均值,只需将 SUM
替换为 AVG
关于mysql - 如何查找开始日期在特定天数内每个用户的收入数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52239176/