gpt4 book ai didi

mysql - 如何获取显示某个时间间隔内每个用户的事件的表格?

转载 作者:行者123 更新时间:2023-11-29 20:07:44 26 4
gpt4 key购买 nike

这很难用一个问题来解释,但是这里是。

在 MySQL 数据库中,我有一个名为 video 的表,其中包含创建的所有视频。结构是这样的

id
owner
title
created_at

我有另一个表用户,类似这样

id
name
created_at

目标是得到下图 enter image description here

x轴是月份#y 轴是每月的视频数量

如您所见,它显示了每个用户每月创建的视频数量。但第一个月始终是从用户创建之日起 30 天。因此,对于用户 Ben 来说,它将是从 2016-10-01 到 2016-11-01,但对于 Rick 来说,则是从 2016-08-01 到 2016-09-01

因此,Ben 的第一个月与 Rick 的第一个月相差大约 60 天。

但在图表中我想将它们全部显示为第 1 个月

我现在的解决方案是“标准化”数据。因此,为了获取 Ben 的数据,我计算了固定日期(我将其设置为 2016-01-01)之间的差异并计算了天数差异。

然后我减去所有视频的天数,这样第一个月的所有视频将是 2016-01-01 到 2016-02-01

这可行,但我真的不确定这是否是最好的方法。

有人对如何执行此操作有更好的想法吗?

谢谢

最佳答案

有人告诉我有更好的方法。我们没有像我那样标准化日期,而是创建一个新属性

我更新了 create_video 事件,使其具有 age_of_user 之类的属性。然后我可以通过age_of_user分组来查看他们在任意月份上传的视频数量。

类似的东西

{
age_of_user: {
days: 64,
weeks: 9
months: 2,
}
}

每个事件都是使用这个新属性创建的。当我查询时,我按月份和用户分组并获取我需要的所有数据

这样我就不需要弄乱视频的时间戳,并且可以在不同的查询中使用它。

关于mysql - 如何获取显示某个时间间隔内每个用户的事件的表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40287270/

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