Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

contar las repeticiones y agrupar en fechas

Estas en el tema de contar las repeticiones y agrupar en fechas en el foro de Mysql en Foros del Web. Hola tengo una tabla donde debo contar las veces que se repite un campo pero agrupado en la fecha exactamente en los dias la tabla ...
  #1 (permalink)  
Antiguo 21/05/2016, 09:28
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
contar las repeticiones y agrupar en fechas

Hola tengo una tabla donde debo contar las veces que se repite un campo pero agrupado en la fecha exactamente en los dias la tabla es algo como esto.

acto fecha
venta 2016-05-21 17:09:54
compra 2016-05-10 16:27:58
compra 2016-05-21 16:23:51
devolucion 2016-05-20 16:20:40
compra 2016-05-21 16:16:25


lo que quiero es agrupar los campos repetidos pero agrupados con el dia y mes algo asi:
total_ventas
1
0
0
total_compras
2
1
0
total_devolucion
0
0
1
dia
21
10
20




no se si se entiende lo que quiero hacer yo probe algo asi:

Código MySQL:
Ver original
  1.     COUNT(DISTINCT acto) AS total,
  2.     DAY(fecha) AS dia
  3.     FROM ventas
  4.     GROUP BY dia

de esta forma funciona pero no me detalla de quien es el total y necesito saber que si en un dia no hay ventas que me muestre 0 ventas.
Tambien se me ocurre con la funcion SUM y un IF verificar si es uno de los campos y incrementar en uno, pero no se si esto relentizaria la sql ya que tendria que utilizar 5 veces la funcion SUM, en el ejemplo puse tres valores diferentes pero en realidad pueden ser 5.
gracias de antemano.

Última edición por azaz; 21/05/2016 a las 15:46
  #2 (permalink)  
Antiguo 22/05/2016, 02:48
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: contar las repeticiones y agrupar en fechas

Nadie me puede ayudar el resultado que quiero lo logro con esta consulta.

Código MySQL:
Ver original
  1.     SUM(IF($acto='compra' 1,0) AS total_compra,
  2.     SUM(IF($acto='venta' 1,0) AS total_venta,
  3.     SUM(IF($acto='devolucion' 1,0) AS total_devolucion,
  4.     DAY(fecha) AS dia
  5. FROM ventas  GROUP BY dia

En realidad tendria que usar dos funciones SUM mas para mi consulta pero a modo de ejemplo creo que ya vale, en realidad no creo que sea muy buena idea usar tantas funciones en una misma consulta, que me aconsejais, deberia modificar la estructura de la tabla?
saludos

Última edición por azaz; 22/05/2016 a las 02:54
  #3 (permalink)  
Antiguo 22/05/2016, 09:34
 
Fecha de Ingreso: diciembre-2007
Mensajes: 299
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: contar las repeticiones y agrupar en fechas

Hola,
no lo he probado pero cre que esto se acerca un poco a lo que pides:

Código MySQL:
Ver original
  1. select count(*) as total, acto from ventas group by acto

espero k te sea util........
__________________
1os pasaos con xAMP en Windows
programando en PERL
  #4 (permalink)  
Antiguo 22/05/2016, 09:38
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: contar las repeticiones y agrupar en fechas

Cita:
Iniciado por alfa18 Ver Mensaje
Hola,
no lo he probado pero cre que esto se acerca un poco a lo que pides:

Código MySQL:
Ver original
  1. select count(*) as total, acto from ventas group by acto

espero k te sea util........
Hola, no se acerca si me cuenta todo además quiero agruparlos por días.
Gracias de todas formas.

Etiquetas: agrupar, campo, fecha, repeticiones, select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:09.