gpt4 book ai didi

mysql - 如何获得过去 30 天内超过 1000 美元的用户?每个用户过去 30 天的数据。 SQL有限制

转载 作者:行者123 更新时间:2023-11-29 16:36:25 26 4
gpt4 key购买 nike

我在数据库中有表产品。产品:id、user_id、product_price。如何获得过去 30 天内超过 1000 美元的用户? (针对每个用户过去 30 天)我的脚本对我没有帮助:

SELECT   t.user_id,
,SUM(t.product_price)
FROM ( SELECT p.user_id
, p.product_price
FROM products p
ORDER BY p.id DESC LIMIT 30
) t
GROUP BY t.user_id
HAVING SUM(t.product_price) >= 1000

最佳答案

您不需要子查询,您需要一个WHERE。 “过去 30 天”意味着截至今天的时间段。为此,请使用 curdate() (或类似的构造):

SELECT p.user_id, SUM(p.product_price)
FROM products p
WHERE p.<date column> >= curdate() - interval 30 day
GROUP BY p.user_id
HAVING SUM(p.product_price) >= 1000;

据推测,您的数据中没有 future 的日期,因此您无需检查该日期是否是过去的日期。

您的数据库中的表名称非常可疑。我不明白为什么 user_id 会出现在名为 products 的表中。

关于mysql - 如何获得过去 30 天内超过 1000 美元的用户?每个用户过去 30 天的数据。 SQL有限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53579937/

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