gpt4 book ai didi

sql - 将统计数据整理成时间 block

转载 作者:行者123 更新时间:2023-11-29 01:48:00 24 4
gpt4 key购买 nike

我正在尝试为 MySQL 制定 SQL 语句。我有一系列服务器的一系列统计数据,每半小时报告一次。我有一个包含与此类似的列的统计表:

server varchar(64), 
time datetime,
bytesIn int,
bytesOut int

现在,我想生成一系列报告,整理所有服务器上 1 小时或 1 天期间的所有 bytesIn 和 bytesOut。IE。我知道我需要 SUM(bytesIn) 作为 bytesIn,SUM(bytesOut) 作为 bytesOut,但不知道如何将所有时间“聚集”到每小时/每天的存储桶中,并返回那个“聚集”的时间。也就是说,返回的数据应该是这样的:

Time,bytesIn,bytesOut
12:00,1024,2048
13:00,4096,8192
etc

我知道这应该很简单,但我迷路了。谁能帮忙?

最佳答案

也许你可以使用 DATE_FORMAT()函数, 分组.这是一个例子,希望你能适应你的精确需求。

SELECT
DATE_FORMAT( time, "%H:%i" ),
SUM( bytesIn ),
SUM( butesOut )
FROM
stats
WHERE
time BETWEEN <start> AND <end>
GROUP BY
DATE_FORMAT( time, "%H:%i" )

如果您的时间范围超过一天,并且您使用示例格式,则来自不同日期的数据将聚合到“一天中的小时”存储桶中。如果原始数据不准确地落在小时,您可以使用 "%H:00" 来平滑它。

关于sql - 将统计数据整理成时间 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1767483/

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