Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/08/2012, 11:59
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 9 meses
Puntos: 774
Respuesta: Reporte para contar registro

el sig query saca lo que necesitas:

Código SQL:
Ver original
  1. CREATE TABLE #temp
  2. (
  3. id INT,
  4. lugar VARCHAR(20),
  5. inicio datetime,
  6. fin datetime
  7. )
  8.  
  9. INSERT INTO #temp VALUES (1,'a','2012-07-12 00:00:31.000','2012-07-12 00:00:47.000')
  10. INSERT INTO #temp VALUES (1,'b','2012-07-12 00:00:47.000', '2012-07-12 00:01:13.000')
  11. INSERT INTO #temp VALUES (1,'b','2012-07-12 00:01:13.000', '2012-07-12 00:01:15.000')
  12. INSERT INTO #temp VALUES (1,'a','2012-07-12 00:01:15.000', '2012-07-12 00:01:16.000')
  13. INSERT INTO #temp VALUES (1,'a','2012-07-12 00:01:16.000', '2012-07-12 00:01:17.000')
  14.  
  15. SELECT COUNT(lugar) cuantos, lugar FROM (
  16. SELECT ntile(2) OVER(partition BY lugar ORDER BY lugar) AS rn, id,inicio,fin, lugar FROM #temp
  17. ) t1 WHERE rn=1 GROUP BY lugar

Ahora el problema la funcion ntile() necesita un parametro en este caso el 2 (segun tus datos de ejemplo) que va a contar cada par de registros consecutivos como 1 pero si lo pones con 3 entonces no funciona, no tienes mas datos en tu tabla??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me