You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于MySQL的timestamp字段统计每分钟的新增记录数量

MySQL按1分钟分组统计新增记录数实现方法

假设你的表名为data_table,存储创建时间的timestamp字段为created_at,以下是两种可直接使用的实现方案:

方案1:DATE_FORMAT字符串截断(易读优先)

通过时间格式化将精度截断到分钟级别,同分钟的记录会分到同一组:

SELECT
  DATE_FORMAT(created_at, '%Y-%m-%d %H:%i') AS minute_time,
  COUNT(1) AS new_record_count
FROM data_table
-- 可选:添加时间范围过滤条件
-- WHERE created_at BETWEEN '2024-01-01 00:00:00' AND '2024-01-07 23:59:59'
GROUP BY minute_time
ORDER BY minute_time ASC;

方案2:时间戳取整计算(性能优先)

通过数值计算得到每分钟的起始时间戳,避免字符串格式化开销,适合大数据量表:

SELECT
  FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(created_at) / 60) * 60) AS minute_time,
  COUNT(1) AS new_record_count
FROM data_table
GROUP BY FLOOR(UNIX_TIMESTAMP(created_at) / 60)
ORDER BY minute_time ASC;

补充说明

  • 需调整统计间隔时,修改整除的数值即可:5分钟对应300,1小时对应3600
  • 若需要展示无新增记录的分钟(统计值为0),需先生成连续的分钟时间序列临时表,与上述统计结果做左连接即可

内容的提问来源于stack exchange,提问作者ensnare

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 21:45:01