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

Consulta sobre suma

Estas en el tema de Consulta sobre suma en el foro de Mysql en Foros del Web. Hola estoy haciendo una practica para un examen que tengo mañana y tengo la tabla "tblFactura" con las columnas: idFactura, idFechaFactura, idCliente, idProducto, totalProducto Necesito ...
  #1 (permalink)  
Antiguo 03/03/2016, 10:46
 
Fecha de Ingreso: febrero-2016
Ubicación: Costa Rica
Mensajes: 17
Antigüedad: 8 años, 1 mes
Puntos: 0
Consulta sobre suma

Hola estoy haciendo una practica para un examen que tengo mañana y tengo la tabla "tblFactura" con las columnas: idFactura, idFechaFactura, idCliente, idProducto, totalProducto

Necesito hacer una consulta en donde se extraiga el día donde se vendieron mas productos.

en este caso según mis casos seria
DIA Total
28 10500

Se los agradecería muchísimo.
  #2 (permalink)  
Antiguo 03/03/2016, 10:49
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Consulta sobre suma

Ya alguien en el foro pregunto por lo mismo.....


Código MySQL:
Ver original
  1. select max(total), idfechafactura from(
  2. Select sum(totalproducto) as total, idfechafactura from tblfactura
  3. group by idfechafactura
  4. ) as t1 group by idfechafactura
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 03/03/2016, 11:05
 
Fecha de Ingreso: febrero-2016
Ubicación: Costa Rica
Mensajes: 17
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: Consulta sobre suma

Cita:
Iniciado por Libras Ver Mensaje
Ya alguien en el foro pregunto por lo mismo.....


Código MySQL:
Ver original
  1. select max(total), idfechafactura from(
  2. Select sum(totalproducto) as total, idfechafactura from tblfactura
  3. group by idfechafactura
  4. ) as t1 group by idfechafactura
No me funciono me genera todos los datos y lo que quiero es que me genere solo la suma del monto máximo (hay dos transacciones el mismo día una de 10000 y otra de 500) y el Día


Última edición por Housbel; 03/03/2016 a las 11:06 Razón: no muestra imagen
  #4 (permalink)  
Antiguo 03/03/2016, 11:14
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Consulta sobre suma

Prueba con esto :)

Código MySQL:
Ver original
  1. select max(total), day(idfechafactura) from(
  2. Select sum(totalproducto) as total, idfechafactura from tblfactura
  3. group by idfechafactura
  4. ) as t1 group by day(idfechafactura)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 03/03/2016, 11:15
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consulta sobre suma

Cita:
Necesito hacer una consulta en donde se extraiga el día donde se vendieron mas productos.
Tal vez así:
Código MySQL:
Ver original
  1. SELECT fecha
  2. FROM tblfactura
  3. HAVING total = MAX(total)

Aunque tmbien puede ser:
Código MySQL:
Ver original
  1. SELECT fecha
  2.   SELECT fecha, total
  3.   FROM tblfactura
  4.   ORDER BY total DESC) Tabla1
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 03/03/2016, 11:17
 
Fecha de Ingreso: febrero-2016
Ubicación: Costa Rica
Mensajes: 17
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: Consulta sobre suma

Cita:
Iniciado por Libras Ver Mensaje
Prueba con esto :)

Código MySQL:
Ver original
  1. select max(total), day(idfechafactura) from(
  2. Select sum(totalproducto) as total, idfechafactura from tblfactura
  3. group by idfechafactura
  4. ) as t1 group by day(idfechafactura)
Queda igual
  #7 (permalink)  
Antiguo 03/03/2016, 11:31
 
Fecha de Ingreso: febrero-2016
Ubicación: Costa Rica
Mensajes: 17
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: Consulta sobre suma

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Tal vez así:
Código MySQL:
Ver original
  1. SELECT fecha
  2. FROM tblfactura
  3. HAVING total = MAX(total)

Aunque tmbien puede ser:
Código MySQL:
Ver original
  1. SELECT fecha
  2.   SELECT fecha, total
  3.   FROM tblfactura
  4.   ORDER BY total DESC) Tabla1
La segunda casi me funciono pero me da el valor total de la suma de toda la columna me tiene que dar 10500 pero me da 47800 osea todos los valores que están dentro de la columna.
  #8 (permalink)  
Antiguo 03/03/2016, 11:53
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consulta sobre suma

Cita:
La segunda casi me funciono pero me da el valor total de la suma de toda la columna me tiene que dar 10500 pero me da 47800 osea todos los valores que están dentro de la columna.
Eso es imposible, a menos que hayas agregado algo a la query...
Esa query NO SUMA NADA. Solamente ORDENA de mayor a menor, y luego sobre ese resultado devuelve solo el primero, es decir el mayor valor encontrado en la tabla.
Para que te devuelva la SUMA deberías tener al menos un registro que tenga ese valor calculado y guardado en ese campo... lo que implicaría que tienes un campo calculable y un grave error de diseño.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 03/03/2016, 12:05
 
Fecha de Ingreso: febrero-2016
Ubicación: Costa Rica
Mensajes: 17
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: Consulta sobre suma

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Eso es imposible, a menos que hayas agregado algo a la query...
Esa query NO SUMA NADA. Solamente ORDENA de mayor a menor, y luego sobre ese resultado devuelve solo el primero, es decir el mayor valor encontrado en la tabla.
Para que te devuelva la SUMA deberías tener al menos un registro que tenga ese valor calculado y guardado en ese campo... lo que implicaría que tienes un campo calculable y un grave error de diseño.
[*]SELECT
DAY(idFechaFactura) as Fecha, SUM(totalProducto) as total
FROM
(
SELECT
idFechaFactura, totalproducto
FROM
repaso.tblfactura
ORDER BY
totalproducto DESC) Tabla1
LIMIT
1;

Si es que le agregue SUM ya que como usted me la había dado solo me buscaba el valor máximo de la columna pero lo que me hace es sumar la columna completa
  #10 (permalink)  
Antiguo 03/03/2016, 13:19
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consulta sobre suma

Te la puse así porque so es lo que pedias en tu primer post. O eso se entendía.

Luego te mandó la final.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #11 (permalink)  
Antiguo 03/03/2016, 16:41
 
Fecha de Ingreso: febrero-2016
Ubicación: Costa Rica
Mensajes: 17
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: Consulta sobre suma

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Te la puse así porque so es lo que pedias en tu primer post. O eso se entendía.

Luego te mandó la final.
Te lo agradecería mucho

Etiquetas: fecha, suma, 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 09:03.