gpt4 book ai didi

mysql - 如何根据时间戳间隔对结果进行分组

转载 作者:行者123 更新时间:2023-11-29 02:24:47 26 4
gpt4 key购买 nike

我有一个表,其中包含从发送方到接收方的带时间戳的消息,它看起来像:

mes     timestamp               sender  receiver
10 2014-04-13 12:22:25.000 1 72
10 2014-04-13 12:22:25.000 1 91
10 2014-04-13 12:22:25.000 1 58
16 2014-02-20 20:09:06.000 3 35
16 2014-02-20 20:09:06.000 3 54
17 2014-03-05 14:55:28.000 1 65
18 2014-03-07 14:55:28.000 2 97
19 2014-03-09 14:55:28.000 2 97

我的表有 300 万行这样的行,我试图根据时间戳间隔对结果进行分组,计算每对发送者-接收者之间每个月的消息数。像这样的东西:

timestamp sender  receiver count
2014-04 1 72 1
2014-04 1 91 1
2014-04 1 58 1
2014-02 3 35 1
2014-02 3 54 1
2014-03 1 65 1
2014-03 2 97 2

我真的不知道如何在 mysql 中指定我的子句,所以我很抱歉没有提供我的无效代码片段......我应该使用一些东西作为开关控件并手动指定时间间隔吗?或者在 mysql 中是否有更具体的东西来管理这样的任务?

最佳答案

这是相当简单的GROUP BY,具有多个级别:

SELECT CONCAT(YEAR(tstamp),'-',MONTH(tstamp)) as tstamp, sender, receiver, COUNT(*) AS cnt
FROM yourtable
GROUP BY YEAR(tstamp), MONTH(tstamp),sender,receiver;

我使用 tstamp 作为“timestamp”的字段名称以避免与保留字 (timestamp) 冲突。

关于mysql - 如何根据时间戳间隔对结果进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24486244/

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