sql - 在sql查询中获取最小开始时间和最大结束时间
问题描述
我有一个数据,其中包括 Processeddate 、开始时间和结束时间。
我需要获得一个月的最短开始时间和最长结束时间
解决方案
大多数数据库都支持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。
推荐阅读
- neo4j - 如何在 NEO4J 中有效地存储每个节点的时间序列值?
- wordpress - 如何纠正 WordPress 主题中的页面未找到错误
- python - 获取最新价格以查看是否获利。用彩色打印
- java - Spring 5 Java 配置设置默认配置文件
- machine-learning - 机器学习从一堆文件中提取文本
- spring-boot - 使用 Spring Boot 2.1.5、Spring Cloud Stream Greenwich.SR1 和 RocketMQ 0.9.0 无法停止 bean 'inputBindingLifecycle'
- c# - aud 如何声明 ROPC 访问令牌中设置的值
- vba - 根据表单上的两个日期值(如果存在)打开报表
- c++ - 将函数应用于犰狳矢量的部分
- apache-flink - 将 Elasticsearch 中的数据读入 Flink 聚合?