Ver Mensaje Individual
  #2  
Antiguo 09-02-2011
Avatar de droguerman
droguerman droguerman is offline
Miembro
 
Registrado: abr 2005
Ubicación: tierra
Posts: 999
Reputación: 20
droguerman Va por buen camino
Para SQL Server Podrías hacer algo como esto (para segundos)


Código SQL [-]
CREATE PROCEDURE sp_Reporte
@horaInicio datetime
@horaFin datetime
AS BEGIN
@horaIter datetime;

set @horaIter = @horaInicio;
CREATE TABLE #t (hora datetime);
WHILE @horaIter < @horaFin 
BEGIN
  INSERT INTO #t values(@horaIter);
  -- aquí se necesita un if para saber que parte de la hora se incrementará
  SET @horaIter =  DATEADD(ss, 1, @horaIter);
END;

SELECT t.hora, COUNT(*)
  FROM #t AS t, tickets as I
  WHERE datediff(ss, I.hora, t.hora)<=1;
GROUP BY t.hora
END;

Básicamente crear una tabla con todos los intervalos de fecha y luego mediante inner join contar que diferencias de horas son menores a 1
__________________
self.free;
Responder Con Cita