Суммирование произведений многострочных ячеек в MySQL - PullRequest
0 голосов
/ 04 марта 2019

Я не совсем знал, как назвать эту проблему в названии.Это из моего школьного задания, которое я не могу решить с моими текущими знаниями.У меня есть следующая таблица: SQL table

Моя проблема спрашивает меня следующее: Determine the order total for each order that has an order total greater than 100. Display ‘Order Id’ and ‘Order Total’. Make sure the results are in ascending order total sequence.

Вот мой запрос:

SELECT order_id, SUM(qty*order_price) as Order_Total 
FROM alp_orderline
GROUP BY order_id
HAVING Order_Total > 100 
ORDER BY Order_Total ASC

Но, это только смотрит на первое вхождение order_id.Я хочу, чтобы он взял все строки с одинаковым идентификатором, затем посмотрел на разные inv_id, умножил qty на order_price и суммировал их.

Вот что дает мне мой запрос: enter image description here

1 Ответ

0 голосов
/ 04 марта 2019

Если вы хотите посмотреть другие inv_id, вам просто нужно добавить еще одну группу, например:

 SELECT
order_id,
inv_id,
SUM(qty*order_price) as Order_Total
FROM alp_orderline
GROUP BY
nv_id,
rder_id
HAVING Order_Total > 100
ORDER BY Order_Total ASC;

Вы также можете использовать подзапрос, а затем во внешнем запросе вы получитесостояние, при которомOrder_Total> 100

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...