如果在同一项目位置多次使用最小最大查询,如何从 table 服务器获取开始和结束日期时间 SQL 服务器

How to get Start and End datetime SQL Server from table with Min Max Query, if multiple time in the same Item location

我在 SQL 服务器中有 table,来自 GPS 跟踪:

我想像这样获取开始时间和日期时间:

如果我尝试使用最小最大查询,结果如下:

**WP_OBJECT STARTDATE   ENDDATE**
MEKARSARI   9/26/2017 12:05 9/26/2017 20:20
BABAKAN PARI    9/26/2017 14:20 9/26/2017 17:20

我该怎么办?谢谢

一种方法是行号不同:

select wp_object, min(wp_time) as startdate, max(wp_time) as enddate
from (select t.*,
             row_number() over (order by wp_time) as seqnum,
             row_number() over (partition by wp_object order by wp_time) as seqnum_o
      from t
     ) t
group by wp_object, (seqnum - seqnum_o)
order by min(wp_time);

要了解其工作原理,运行 子查询并查看 seqnum 列。您将看到差异如何定义您想要的组。