2017-02-18 2 views
0

Я написал следующий запрос, который представляет собой проект умножить общее количество продуктов, на величину количества и поместить его в новый столбец. Что мне интересно и немного застрял. Есть ли способ также добавить этот новый столбец. Поэтому я, а также получаю итог для каждой упорядоченной строки, я также могу получить итоговое значение для самого заказа.Проблема с MySQL Query - добавление дополнительных и итоговых значений

SELECT Product_Quantity, ProductPrice, (Product_Quantity*ProductPrice) as Total FROM Order_Info WHERE Order_Number = '1' 
+0

Вы хотите сказать общее из всей колонки? –

+0

Привет, Мохаммад, да, помощник. – Trotterwatch

+0

Вы можете использовать ROLLUP, но я, вероятно, сделаю общее количество в коде приложения – Strawberry

ответ

2

Это добавляет запись с итогами. Имитирует GROUP BY с ROLLUP

SELECT 
    Product_Quantity 
, ProductPrice 
, (Product_Quantity*ProductPrice) AS Total 
FROM 
Order_Info 
WHERE 
Order_Number = '1' 

UNION ALL 

SELECT 
    NULL 
, NULL 
, SUM((Product_Quantity*ProductPrice)) AS Total 
FROM 
Order_Info 
WHERE 
Order_Number = '1' 
+0

Прохладный Удивительные ребята. В итоге я столкнулся со столбцом на стороне приложения (PHP). Цените всю свою помощь. – Trotterwatch

1

Чтобы получить итоговую строку, вы можете использовать union и sum агрегирующего функцию в SQL. Попробуйте следующее:

SELECT Product_Quantity, ProductPrice, (Product_Quantity*ProductPrice) as Total FROM Order_Info WHERE Order_Number = '1' 
union all 
SELECT sum(Product_Quantity), sum(ProductPrice), sum(Product_Quantity*ProductPrice) as Total FROM Order_Info WHERE Order_Number = '1' 
Смежные вопросы