
Consulta SQL (Transacciones por Hora-Mes)
Publicado por Roberto (5 intervenciones) el 13/10/2016 23:09:59
Buenas tardes,
La pregunta es si me pudiesen ayudar a revisar o mejorar la siguiente consulta:
Y el resultado que obtengo es el siguiente:

¿Qué deseo hacer?
Es que la consulta pueda tomar el mes completo, y no solo un día, ya que deseo saber en que horas del día existen mayor trafico de transacciones por parte de los puntos de venta.
Esperando de su ayuda. Gracias.
La pregunta es si me pudiesen ayudar a revisar o mejorar la siguiente consulta:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
SELECT
V.Sucursal,
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 00:00:00' AND '2016/10/01 00:59:59' THEN V.Mov ELSE NULL END) AS [ 00 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 01:00:00' AND '2016/10/01 01:59:59' THEN V.Mov ELSE NULL END) AS [ 01 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 02:00:00' AND '2016/10/01 02:59:59' THEN V.Mov ELSE NULL END) AS [ 02 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 03:00:00' AND '2016/10/01 03:59:59' THEN V.Mov ELSE NULL END) AS [ 03 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 04:00:00' AND '2016/10/01 04:59:59' THEN V.Mov ELSE NULL END) AS [ 04 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 05:00:00' AND '2016/10/01 05:59:59' THEN V.Mov ELSE NULL END) AS [ 05 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 06:00:00' AND '2016/10/01 06:59:59' THEN V.Mov ELSE NULL END) AS [ 06 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 07:00:00' AND '2016/10/01 07:59:59' THEN V.Mov ELSE NULL END) AS [ 07 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 08:00:00' AND '2016/10/01 08:59:59' THEN V.Mov ELSE NULL END) AS [ 08 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 09:00:00' AND '2016/10/01 09:59:59' THEN V.Mov ELSE NULL END) AS [ 09 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 10:00:00' AND '2016/10/01 10:59:59' THEN V.Mov ELSE NULL END) AS [ 10 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 11:00:00' AND '2016/10/01 11:59:59' THEN V.Mov ELSE NULL END) AS [ 11 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 12:00:00' AND '2016/10/01 12:59:59' THEN V.Mov ELSE NULL END) AS [ 12 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 13:00:00' AND '2016/10/01 13:59:59' THEN V.Mov ELSE NULL END) AS [ 13 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 14:00:00' AND '2016/10/01 14:59:59' THEN V.Mov ELSE NULL END) AS [ 14 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 15:00:00' AND '2016/10/01 15:59:59' THEN V.Mov ELSE NULL END) AS [ 15 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 16:00:00' AND '2016/10/01 16:59:59' THEN V.Mov ELSE NULL END) AS [ 16 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 17:00:00' AND '2016/10/01 17:59:59' THEN V.Mov ELSE NULL END) AS [ 17 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 18:00:00' AND '2016/10/01 18:59:59' THEN V.Mov ELSE NULL END) AS [ 18 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 19:00:00' AND '2016/10/01 19:59:59' THEN V.Mov ELSE NULL END) AS [ 19 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 20:00:00' AND '2016/10/01 20:59:59' THEN V.Mov ELSE NULL END) AS [ 20 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 21:00:00' AND '2016/10/01 21:59:59' THEN V.Mov ELSE NULL END) AS [ 21 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 22:00:00' AND '2016/10/01 22:59:59' THEN V.Mov ELSE NULL END) AS [ 22 HRS],
COUNT(CASE WHEN V.UltimoCambio BETWEEN '2016/10/01 23:00:00' AND '2016/10/01 23:59:59' THEN V.Mov ELSE NULL END) AS [ 23 HRS]
FROM Venta V
INNER JOIN Sucursal S ON V.Sucursal = S.Sucursal
WHERE V.Estatus IN ('CONCLUIDO')
AND V.FechaEmision BETWEEN '2016/10/01' AND '2016/10/01'
AND V.Mov IN ('Ticket','Factura')
GROUP BY
V.Sucursal
ORDER BY
V.Sucursal;
Y el resultado que obtengo es el siguiente:

¿Qué deseo hacer?
Es que la consulta pueda tomar el mes completo, y no solo un día, ya que deseo saber en que horas del día existen mayor trafico de transacciones por parte de los puntos de venta.
Esperando de su ayuda. Gracias.
Valora esta pregunta


0