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

如何查询指定月份日期列按日分组的MIN、MAX值

需求实现方案

核心逻辑

先将带时分秒的Date字段截断到天维度,再按天分组统计对应时间极值即可,不同数据库的日期处理语法略有差异,通用实现方案如下:


不同数据库实现代码

MySQL 版本

SELECT
    DATE(`Date`) AS 统计日期,
    MIN(`Date`) AS 当日最早时间,
    MAX(`Date`) AS 当日最晚时间
FROM 你的业务表名
WHERE `Date` BETWEEN '2021-10-01 00:00:00' AND '2021-10-31 23:59:59.999'
GROUP BY DATE(`Date`)
ORDER BY 统计日期;

PostgreSQL 版本

SELECT
    DATE("Date") AS 统计日期,
    MIN("Date") AS 当日最早时间,
    MAX("Date") AS 当日最晚时间
FROM 你的业务表名
WHERE "Date" >= '2021-10-01' AND "Date" < '2021-11-01'
GROUP BY DATE("Date")
ORDER BY 统计日期;

SQL Server 版本

SELECT
    CAST([Date] AS DATE) AS 统计日期,
    MIN([Date]) AS 当日最早时间,
    MAX([Date]) AS 当日最晚时间
FROM 你的业务表名
WHERE [Date] >= '2021-10-01' AND [Date] < '2021-11-01'
GROUP BY CAST([Date] AS DATE)
ORDER BY 统计日期;

注意事项

  • 过滤条件优先使用范围查询,不要对Date字段做函数运算后再过滤,避免索引失效提升查询效率
  • 代码中的你的业务表名请替换为实际使用的表名
  • 如果Date字段存储的是字符串格式,请先转换为日期时间类型再做运算,避免出现统计错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 02:27:04