假设你要统计一个数据库表中的数据,可以使用以下SQL查询来实现:
SELECT COUNT(*), DATE_FORMAT(timestamp_column, '%Y-%m-%d %H:%i') AS time_interval
FROM table_name
WHERE timestamp_column <= NOW()
GROUP BY time_interval
ORDER BY time_interval DESC;
其中,table_name
是你要统计的表名,timestamp_column
是记录时间戳的列名。
这个查询语句会以当前时间为基准,往前每5分钟分组统计一次数据。其中使用了 DATE_FORMAT
函数来格式化时间戳,将其转换为年-月-日 时:分 的格式。
结果会按时间降序排列,每个时间段的统计结果将显示记录数量和时间间隔。
例如,如果当前时间是 2022-01-01 12:30,那么查询结果可能如下所示:
| COUNT(*) | time_interval |
|----------|-------------------|
| 100 | 2022-01-01 12:30 |
| 50 | 2022-01-01 12:25 |
| 75 | 2022-01-01 12:20 |
| ... | ... |
这样你就可以得到每个5分钟时间段的数据统计结果。以当前时间往前每5分钟统计一次 sql
select To_Char(d.name, 'hh24:mi') name, count(DATANAME) as count from DATARECORD_PROXY i RIGHT join (select sysdate-((1/24)/12)*(level-1) name from dual connect by level <= 10) d ON i.CREATEDATA < d.name and i.CREATEDATA> (d.name-((1/24)/12)) group by d.name,i.DATANAME ORDER BY d.name ASC