2012-07-30 22 views
5

Tengo las siguientes columnas en una tabla:¿Cómo agregar valores del mismo artículo en una columna?

  1. Nombre
  2. Cantidad
  3. Descripción

Quiero añadir las cantidades del producto si el nombre del producto es igual . Por ejemplo si tengo producto con el mismo nombre dos veces, quiero que se añadirán las cantidades totales de los productos y obtener un resultado.

Esta es la tabla y quiero añadir las cantidades del mismo tema:

Name   Quantity Description 
Pen    3 
Pencil   2 
Pen    6 
Eraser   7 
Eraser   6 

Para exmaple:

  • tengo pluma dos veces y por lo desee agregar (3 + 6) y la pantalla del total como 9, y ...
  • tengo goma de borrar dos veces (7 + 6), por lo que el total debe ser 13.

Respuesta

10

el solución es GROUP BY cláusula:

SELECT Name, SUM(Quantity) 
FROM Table 
GROUP BY Name 

GROUP BY se utiliza en una consulta SQL para agrupar filas juntos para fines de agregación. Por ejemplo: filas Si su tabla de entrada tenía: Código

ItemName  Qty 
Pen   4 
Pencil   7 
Pen   6 

SQL:

SELECT ItemName, SUM(Qty) 
FROM Table 
GROUP BY ItemName 

Usando GROUP BY ItemName en su consulta le daría la salida:

ItemName  Qty 
Pen   10 
Pencil   7 
+0

'GRUPO BY' reduce las mismas filas valorados (es decir: el mismo' Name'd) a 1 fila. Y la función 'SUMA 'agrega los valores de columna que están agrupados. Info: http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html –

-1
SELECT SUM(column_name) FROM table_name 

Este es el mejor ejemplo!

+4

Dudo que esto es la mejor exmple, que incluso no seleccionar las columnas 'name' – Bazzz

+0

sí, pero yo no konw su nombre de la tabla I sólo le muestro código de pieza –

+0

me refería a la columna con el nombre 'name' como las solicitudes OP. De todos modos, Snow Blind ya dio la respuesta correcta. – Bazzz

Cuestiones relacionadas