gpt4 book ai didi

mysql - 在 sql 中滚动 30 天唯一值

转载 作者:行者123 更新时间:2023-11-29 07:08:03 25 4
gpt4 key购买 nike

假设您有一个表格:

create table user_activity (
user_id int not null,
activity_date timestamp not null,
...);

选择过去 30 天内唯一 user_id 的数量非常简单。

select count(distinct user_id) from user_activity where activity_date > now() - interval 30 day;

但是您如何为过去 30 天的每一天选择前 30 天的唯一 user_id 的数量?例如。 0-30 天前、1-31 天前、2-32 天前等到 30-60 天前的唯一值。

如果重要,数据库引擎是mysql

最佳答案

您可以尝试使用子查询:

SELECT DISTINCT `activity_date` as `day`, (
SELECT count(DISTINCT `user_id`) FROM `user_activity` WHERE `activity_date` = `day`
) as `num_uniques`
FROM `user_activity`
WHERE `activity_date` > NOW() - INTERVAL 30 day;

这应该会为您提供每天的唯一用户数。但是,我没有对此进行测试,因为我没有可以使用的数据库。

关于mysql - 在 sql 中滚动 30 天唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6143082/

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