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

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

Publicado por Isaias (3180 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