sql - 根据 StartDate 获取每小时数据
问题描述
例如,
我有这样的数据:-
batch MIN MAX TIME
X 10 20 2018-07-12 10:29:00.000
X 30 50 2018-07-12 10:30:00.000
X 50 30 2018-07-12 10:31:00.000
| | | |
X 40 20 2018-07-12 11:45:00.000
现在我想要基于开始时间的每小时数据,例如:-
DURATION MIN
2018-07-12 10:29:00.000-2018-07-12 11:29:00.000 10
2018-07-12 11:30:00.000-2018-07-12 12:30:00.000 10
我怎样才能得到这个?(根据开始时间获取每小时的最小值)
解决方案
dateadd 函数允许您在日期中添加或减去天、小时、分钟。
考虑以下查询
select dateadd(HOUR, -1, getdate()) as time_added,
getdate() as curr_date
-1 用于减去一小时(加负一小时)
上述查询的结果是:
timeadded curr_date
2018-07-12 13:25:31.603 2018-07-12 14:25:31.603
而不是 getdate() 使用你的 startdate
在你的情况下,它会是
select min from table where time<@starttime and time> dateadd(HOUR, -1, @starttime)
推荐阅读
- reactjs - 为什么单击 React 后未检查单选按钮?
- opengl - 给定一个投影矩阵,如何在 OpenGL 中获得视场角?
- excel - 运行时错误 9 仅在一台机器上发生?
- php - PHP:如何将字符串中的单词 A 替换为单词 B - A 和 B 在数组 [] 和 [+1] 中
- c# - 如何在替代单击c#上打开和关闭工具条菜单下拉菜单
- java - 如何从本地目录加载 resources.properties,而不是 Java 中的 JAR?
- c++ - system("/path/to/bash.sh") return file.txt: Permission denied only when c++ program was run as root
- python - 基于时间段的一列的平均值+另一列的条件
- python-3.x - 如何将字符串 06-09-2019 14:34 日期转换为 UTC 06/09/2019 14:34
- javascript - 如何动态读取按钮文本?