首页 > 解决方案 > 应用条件时的第一个日期和最后一个日期

问题描述

我有这张桌子:

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,因为我在同一个区域有多个条目。我已经更正了输出和输入以获得更好的视图

标签: sqlsql-server

解决方案


正如所写,这看起来像简单的聚合:

select id, min(start), max(end), area
from t
group by id, area;

推荐阅读