Mysql查询-按5分钟内的日期时间段分组

发布于 2024-10-31 08:23:07 字数 536 浏览 1 评论 0原文

我已经到处搜索,但无法让它发挥作用。我正在尝试构建一个问题,在 5 分钟内对我的记录进行分组 - 并显示最后一个条目。然而,我设法做到了一半,但我的查询只返回第一个条目 (XX=10)。

我确实有以下数据:

ID        XX       DATETIME
N1         5       2009-05-01 13:00:00
N1        10       2009-05-01 13:04:49
N2         7       2009-05-02 14:00:00

并且我希望我的分组依据给我这个:

N1      10
N2       7

我已经使用了这个分组依据语句:

((60/15) * HOUR(created_on) + FLOOR(MINUTE(created_on) / 15)) 

任何人对这个查询应该是什么样子有任何想法吗?

最好的问候,乔金

I have searched all over and can't manage to get this to work. I am trying to build a question that groups my records within 5 minutes - and displays the last entry. However I managed to get there halfway, but my query is only returning the first entry (XX=10).

I do have the following data:

ID        XX       DATETIME
N1         5       2009-05-01 13:00:00
N1        10       2009-05-01 13:04:49
N2         7       2009-05-02 14:00:00

and I want my group by to give me this:

N1      10
N2       7

I have uses this group by statment:

((60/15) * HOUR(created_on) + FLOOR(MINUTE(created_on) / 15)) 

Any one out there that has any ideas on how this query should look like?

Best regards, Joakim

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

〆凄凉。 2024-11-07 08:23:07

您可以简单地使用:((60/12) * HOUR(created_on) + FLOOR(MINUTE(created_on) / 5))

You can simply use: ((60/12) * HOUR(created_on) + FLOOR(MINUTE(created_on) / 5))

≈。彩虹 2024-11-07 08:23:07
UNIX_TIMESTAMP(created_on) - UNIX_TIMESTAMP(created_on) % 5
UNIX_TIMESTAMP(created_on) - UNIX_TIMESTAMP(created_on) % 5
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文