求SQL:计算timestamp为20分钟内的数据的平均值

hackfan 2007-02-16 02:14:40
我有如下一个表:

data
{
timestamp DATETIME
number int
}

数据内容:

timestamp number
2003-06-01 00:00:01 12
2003-06-01 00:01:01 17
2003-06-01 00:02:01 20
2003-06-01 00:03:01 7
2003-06-01 00:04:01 23
2003-06-01 00:05:01 3
2003-06-01 00:06:01 12
2003-06-01 00:07:01 13
2003-06-01 00:08:01 15
2003-06-01 00:09:01 23
2003-06-01 00:10:01 3
2003-06-01 00:11:01 7
.
.
.

现在,我需要一条SQL,能够把
00:00:00 - 00:20:00
00:20:00 - 00:40:00
00:40:00 - 01:00:00
01:00:00 - 01:02:00
之间的数字的平均值给出来

怎么写?

select avg(number),??? where ??? group by ??
...全文
372 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
klan 2007-02-20
  • 打赏
  • 举报
回复
try:

select avg(a.number), a.mins FROM (

select number, floor((UNIX_TIMESTAMP(now())-UNIX_TIMESTAMP('2007/02/20 10:06:00'))/(60*20)) mins
from tbl)a
group by a.mins

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧