我的数据如下所示:
ID EventDateTime
1656891 2015-04-21 23:54:36.443
1656891 2015-04-22 00:28:01.313
1656891 2015-04-23 16:09:55.440
1656891 2015-04-26 19:17:30.140
1656891 2015-04-26 21:50:45.167
1668876 2015-04-23 13:28:27.827
1668876 2015-04-23 15:57:15.393
1718737 2015-04-16 11:27:17.143
1743848 2015-04-16 03:15:50.900
1743848 2015-04-16 11:28:09.383
1743848 2015-04-21 17:32:47.610
1743848 2015-04-22 01:06:22.707
1746479 2015-04-16 18:36:26.587
1746479 2015-04-18 16:04:12.410
1746479 2015-04-20 21:01:50.907
1746479 2015-04-20 23:26:56.743
对于给定的SELECT
,我需要DATEDIFF(MINUTE...)
EventDateTime
列ID
1656891
。例如,对于7076
,我应该ID
。有没有办法计算每个ID Minutes
1656891 7076
... ...
的这个,这样我得到一个输出:
return p->a[--p->top];
我发现了一些关于迭代的其他帖子,但查询最终花了一分钟才能运行,所以我的代码显然效率很低。
答案 0 :(得分:1)
我猜你想要每个id的最早值和最新值之间的分钟差异。至少在价值7076的球场上。
select id, datediff(minute, min(eventdatetime), max(eventdatetime) ) as minutes
from table t
group by id;