SQL Server - Sumar las diferencia de ciclos de marcaciones horas de un mismo campo

 
Vista:

Sumar las diferencia de ciclos de marcaciones horas de un mismo campo

Publicado por luis (1 intervención) el 21/02/2015 22:42:57
USERID CHECKTIME
301 06/02/2015 10:35:56 p.m.
301 06/02/2015 04:35:56 p.m.
301 06/02/2015 07:35:56 p.m.
302 06/02/2015 07:35:56 p.m.
302 11/02/2015 12:24:35 p.m.
303 06/02/2015 05:57:47 p.m.
303 06/02/2015 05:57:54 p.m.
303 08/02/2015 10:11:58 p.m.
304 08/02/2015 10:12:08 p.m.
305 06/02/2015 10:01:48 a.m.
305 06/02/2015 11:19:43 a.m.



TEngo estos datos y necesito una funcion de mysql que me calcule ciclos:
la difrencia del segudo registro con el pirmero y sumar estas diferencisas (minutos) si es el mismo USERID Y SI ES LA MISMA FECHA
Essto es para saber ciuantas horas y minutos suma cada userid por dia y luego por semana

301 06/02/2015 10:35:56 a.m.
301 06/02/2015 04:35:56 p.m. ACA SUMA 6 HORAS O 360 MINUTOS
301 06/02/2015 07:35:56 p.m. ESTE YA NO DEBE SUMAR PORQUE NO CUMPLE UN CILCO (marcar dos veces)
302 06/02/2015 07:35:56 p.m. ESTE YA NO DEBE SUMAR PORQUE NO ES EL MIMSO USERID
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Sumar las diferencia de ciclos de marcaciones horas de un mismo campo

Publicado por Isaias (4558 intervenciones) el 26/02/2015 23:37:39
Te voy a dar una guía, lo demás creo que seria como "planchar y coser"

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Create table #Tiempos (userid int, checktime datetime)
 
insert into #Tiempos values (301, '06/02/2015 22:35:56'),
(301, '06/02/2015 16:35:56'),
(301, '06/02/2015 19:35:56'),
(302, '06/02/2015 19:35:56'),
(302, '11/02/2015 12:24:35'),
(303, '06/02/2015 17:57:47'),
(303, '06/02/2015 17:57:54'),
(303, '08/02/2015 22:11:58'),
(304, '08/02/2015 22:12:08'),
(305, '06/02/2015 10:01:48'),
(305, '06/02/2015 11:19:43')
 
SELECT T1.userid, T1.checktime, T2.checktime
FROM #Tiempos T1 INNER JOIN #Tiempos T2 ON T1.userid=T2.userid AND 
convert(char(8), T1.checktime, 112) = convert(char(8), T2.checktime, 112)
WHERE T1.checktime < T2.checktime
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar