19 de noviembre de 2007

MySql: Como multiplicar dos campos fila a fila y sumar el resultado en una misma SELECT

Aquí va un ejemplo de sql básico.

Imaginemos que tenemos una tabla llamada productos_carrito_compra con dos campos: cantidad (con la cantidad de cada producto) y precio (con el precio de cada producto). Necesitamos saber cual es el precio total acumulado en el carrito de la compra, ¿Cómo podríamos obtener esa cantidad sin tener que recurrir a PHP?

Pues así: SELECT SUM(cantidad*precio) as resultado FROM productos_carrito_compra

12 comentarios:

Anónimo dijo...

y como puedes hacer cuando hay varias filas y luego la suma?

Gabriel Cuesta dijo...

No he entendido bien tu pregunta.

Con esta sentencia sumas todas las filas de la tabla, sólo que previa a es suma, fila a fila se van multiplicando 2 campos.

Jhaziel dijo...

como estas? soy nueva en esto de php y estoy haciendo un sistema de facturacion... hice lo que tu explicastes y me salio a la perfeccion pero ahora no se como mostrarlo en la pagina, no solo que haga el procedimiento en mysql...
me podrias ayudar?

Jhaziel dijo...

como estas gaby... soy yo otra vez... se me prendio el foco y ya lo hice.. XD jajaja disculpa la molestia... cualquier otra cosa te pregunto si no te molesta... XD

Gabriel Cuesta dijo...

Ok, me alegro de que lo hayas resuelto.

Un saludo

MADrod dijo...

Muy Bueno, justo lo que necesitaba.
Saludos.

Juegos de Ben 10 dijo...

Funciono de maravilla , Gracias gabriel.

Bastet_Tsuki dijo...

es genial! pero tengo una duda. tengo varias filas y dos columnas: salario y comision.
quiero sumar salario+comision pero no todo de una ves sino por empleado.
como sería?

Iori Yagami dijo...

Bastet:

Cosa de agregar una condicion WHERE a la consulta original:

"SELECT SUM(cantidad*precio) as resultado FROM productos_carrito_compra WHERE id_empleado = ?"

Javier Apaza dijo...

ESE COMANDO SOLO ME MUESTRA LA SUMA TOTAL DE LA VENTA, PERO QUIERO VERLO COMO UNA FACTURA MOSTRAR SUBTOTALES Y AL FINAL MOSTRAR LA VENTA TOTAL

Pedro Bañuelos Valdez dijo...

SELECT sum(existencia*precio)AS total_de_pesos FROM `producto` where descripcion like '%LECHE%'

Anónimo dijo...

Yo hice esta que me ayudó a obtener el monto total de venta por día, en un rango de fechas, ajustando un poco podría hacerlo por producto u otra forma, creo que algo así buscaba 'Anonimo'.
SELECT Fecha, sum(Cantidad*Precio) AS monto FROM Ventas WHERE Fecha>='FInicial' AND Fecha<='FFinal' GROUP BY Fecha ORDER BY Fecha;