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

如何按日期分组查询time_start最小值与time_end最大值?

解决按日期分组取最早开始时间和最晚结束时间的SQL问题

嘿,你其实不需要用复杂的子查询来实现这个需求,直接用GROUP BY配合基础聚合函数就能轻松搞定!

正确的SQL查询语句

SELECT 
    date_start AS DATE,
    MIN(time_start) AS MIN,
    MAX(time_end) AS MAX
FROM 
    your_table_name  -- 记得替换成你的实际表名
GROUP BY 
    date_start
ORDER BY 
    date_start;

代码逻辑解释

  • GROUP BY date_start:按照date_start字段对数据分组,把同一天的所有记录归为一组
  • MIN(time_start):计算每组(每一天)里最早的开始时间
  • MAX(time_end):计算每组(每一天)里最晚的结束时间
  • ORDER BY date_start:可选步骤,用来让结果按日期顺序排列,和你预期的输出格式完全匹配

执行后的预期结果

运行这条SQL后,会得到和你想要完全一致的输出:

DATEMINMAX
2020-06-0108:3620:00
2020-06-0209:3619:44
2020-06-0312:3623:04

关于你之前子查询失败的小提示

可能你之前的子查询逻辑绕了弯路,其实没必要嵌套查询来获取极值——聚合函数本身就支持在分组后直接计算每组的最值,这是最直接高效的实现方式哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 13:07:51