sql - 应用条件时的第一个日期和最后一个日期
问题描述
我有这张桌子:
ID | 开始 | 结尾 | 区域 |
---|---|---|---|
9 | 2021-01-20 08:18:30.820 | 2021-01-20 08:18:31.740 | 区域1 |
9 | 22021-01-20 08:18:31.740 | 2021-01-20 08:18:32.643 | 区域1 |
9 | 2021-01-20 08:18:32.643 | 2021-01-20 08:18:33.550 | 区域1 |
9 | 2021-01-20 08:20:07.290 | 2021-01-20 08:20:08.190 | 区域2 |
9 | 2021-01-20 08:20:08.190 | 2021-01-20 08:21:08.190 | 区域1 |
我需要使用以下输出创建一个查询:
ID | 开始 | 结尾 | 区域 |
---|---|---|---|
9 | 2021-01-20 08:18:30.820 | 2021-01-20 08:18:33.550 | 区域1 |
9 | 2021-01-20 08:20:07.290 | 2021-01-20 08:20:08.190 | 区域2 |
9 | 2021-01-20 08:20:08.190 | 2021-01-20 08:21:08.190 | 区域1 |
我试图照顾类似的情况,但我没有发现这样的事情。
@all 我可以使用 min 和 max,因为我在同一个区域有多个条目。我已经更正了输出和输入以获得更好的视图
解决方案
正如所写,这看起来像简单的聚合:
select id, min(start), max(end), area
from t
group by id, area;
推荐阅读
- c# - 如何使用 Linq 检查对象列表属性是否允许来自另一个列表的值
- javascript - 归还包含特定类型的书籍
- c - 帧数据如何存储在 libav 中?
- reactjs - 状态未在提交时获取 API 数据
- python - Python OpenCV 创建带有视频帧的地图
- c# - Mongodb C# - 如何按多个字段分组(聚合)
- linux - Docker 没有启动,因为服务器上没有空间
- python-3.x - 如何在 PySimpleGUI 中重置 FileBrowse 或将 FileBrowse 设置为给定路径?
- git - 如何删除 git commit?
- python - 如果用户输入在列表中,如何从列表中删除元素?