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

SQL Server单表查询:按分类获取StartDate最小值与EndDate最大值

SQL Server按类别分组获取日期范围的解决方案

嘿,这个需求很常见,用基础的分组聚合操作就能轻松搞定!你只需要结合GROUP BY子句和日期相关的聚合函数,就能得到每个类别最早的开始日期和最晚的结束日期。

实现SQL代码

SELECT 
    Category,
    MIN(StartDate) AS StartDate,
    MAX(EndDate) AS EndDate
FROM 
    YourTableName -- 记得替换成你的实际表名
GROUP BY 
    Category
ORDER BY 
    Category; -- 可选排序,让结果更规整

代码说明

  • MIN(StartDate):会自动找出每个Category分组里最早的开始日期
  • MAX(EndDate):会自动找出每个Category分组里最晚的结束日期
  • GROUP BY Category:确保所有聚合计算都是按类别分组进行的

模拟数据

Category StartDate  EndDate
-------------------------------
A        1/1/2018   1/11/2018
A        1/3/2018   1/13/2018
B        1/1/2018   1/11/2018
B        1/9/2018   1/19/2018
A        1/5/2018   1/15/2018
C        1/4/2018   1/14/2018
A        1/1/2018   1/11/2018
C        1/7/2018   1/17/2018

执行后期望结果

Category StartDate  EndDate
--------------------------------
A        1/1/2018   1/15/2018
B        1/1/2018   1/19/2018
C        1/4/2018   1/17/2018

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:05:07