Используя SQLite и у меня есть таблица, подобная этой:
ClockId ProjectId DateTime
-----------------------------------------------------------------
1 1 1398/01/01 10:00:00
2 1 1398/01/01 11:00:00
3 2 1398/01/01 10:00:00
4 2 1398/01/01 11:00:00
5 1 1398/01/01 10:00:00
6 1 1398/01/01 11:00:00
7 1 1398/01/01 10:00:00
8 2 1398/01/01 10:00:00
9 1 1398/01/01 11:00:00
10 2 1398/01/01 11:00:00
, и мне нужен этот вывод:
ProjectId Diff(minute)
------------------------------
1 180
2 120
на самом деле мне нужно два соединения, как это:
ClockId ClockId
---------------------------
1 2
3 4
5 6
7 9
8 10
как я могу это сделать?
я пытаюсь этот код в SQL не SQLite:
select
maintbl2.ProjectId,
sum(maintbl2.diff) as sum
from (SELECT
ROW_NUMBER() OVER(ORDER BY mainTbl.ProjectId) AS Row#,
mainTbl.ProjectId,
DATEDIFF(minute, mainTbl.[DateTime], c1.[DateTime]) as diff
FROM [Clock] as c1
CROSS APPLY
(SELECT TOP 1 *
FROM [Clock] as c2
WHERE c1.ProjectId = c2.ProjectId and c1.DateTime > c2.DateTime
) mainTbl) maintbl2
, но не работает правильно !!!