2012-06-14 3 views
2

Я хочу найти сумму и количество определенных значений в моей таблице.Базовый оператор SQL Select - Как найти сумму?

В моей конкретной ситуации таблица называется product. Имена столбцов для таблицы: 'id, product_id, quantity и shipping_price.

Таблица содержит: (на основе SELECT * FROM product;)

product_id:1 quantity:1  end_price:15  shipping_price:1 
product_id:2 quantity:2  end_price:15  shipping_price:0 
product_id:1 quantity:1  end_price:15  shipping_price:1 
product_id:2 quantity:1  end_price:15  shipping_price:0 
product_id:1 quantity:1  end_price:15  shipping_price:1 
product_id:3 quantity:1  end_price:15  shipping_price:0 

Мне нужна SQL заявление, которое будет выбрать количество строк с тем же product_id, получить сумму quantity, end_price и shipping_price.

Для этого примера я хочу заявление SQL для возвращения, по пункту 1:

product_id:1 quantity:3 end_price:45 shipping_price:3 

ответ

5

Вы можете использовать агрегатную функцию SUM, группируя результаты по product_id.

SELECT product_id, 
     SUM(quantity) quantity, 
     SUM(end_price) end_price, 
     SUM(shipping_price) shipping_price 
FROM product 
GROUP BY product_id 
0
SELECT product_id, sum(quantity), sum(end_price), sum(shipping_price) FROM product 
group by product_id 
2
SELECT product_id, SUM(quantity), SUM(end_price), SUM(shipping_price) FROM product GROUP BY product_id; 
Смежные вопросы