首页 > 解决方案 > 在sql查询中获取最小开始时间和最大结束时间

问题描述

我有一个数据,其中包括 Processeddate 、开始时间和结束时间。

我需要获得一个月的最短开始时间和最长结束时间

标签: sql

解决方案


大多数数据库都支持year()month()功能。所以这个想法是:

select year(Processeddate), month(Processeddate), min(starttime), max(endtime)
from t
group by year(Processeddate), month(Processeddate);

具体功能可能因数据库而异。

实际上,如果您只想要一个月,那么过滤就足够了。2020 年 1 月:

select min(starttime), max(endtime)
from t
where Processeddate >= '2020-01-01' and Processeddate < '2020-02-01'

日期功能因数据库而异,因此日期常量的特定格式可能会有所不同,但大多数数据库都支持 YYYY-MM-DD。


推荐阅读