как SQL для получения итоговой суммы из СУММ 2 полей? - PullRequest
0 голосов
/ 21 мая 2019

Это sql, который я создал

SELECT SUM(SupplierItems.SupplierItemCost +
           SupplierItems.SupplierItemInventory
          ) AS TotalCost
FROM SupplierItems 
GROUP BY SupplierItems.ID

sql выше дает вам сумму двух полей, которая является itemcost и iteminventory, и это результат

TotalCost
1000
2000
3000

Мне нужночтобы получить СУММУ всего от TotalCost.

Спасибо,

Ответы [ 3 ]

2 голосов
/ 21 мая 2019

Если вам нужна общая сумма в таблице, тогда удалите GROUP BY:

SELECT SUM(si.SupplierItemCost +
           si.SupplierItemInventory
          ) AS TotalCost
FROM SupplierItems si;

Будьте осторожны.Если какое-либо из базовых значений равно NULL, вы можете не получить правильный результат.Это безопаснее сделать:

SELECT (COALESCE(SUM(si.SupplierItemCost), 0) +
        COALESCE(SUM(si.SupplierItemInventory, 0)
       ) AS TotalCost
FROM SupplierItems si;
1 голос
/ 21 мая 2019

Если вы хотите увидеть сумму всех TotalCost в дополнительной строке, вы можете использовать ROLLUP.

SELECT SupplierItems.ID, SUM(SupplierItems.SupplierItemCost +
           SupplierItems.SupplierItemInventory
          ) AS TotalCost
FROM SupplierItems 
GROUP BY ROLLUP(SupplierItems.ID)
1 голос
/ 21 мая 2019

Если вы хотите получить общий итог, вы можете использовать без GROUP BY

SELECT SUM(SupplierItems.SupplierItemCost +
           SupplierItems.SupplierItemInventory
          ) AS TotalCost
FROM SupplierItems

если вы хотите частичное итоговое значение на основе SupplierItems.ID , тогда вы можете использовать GROUP BY

SELECT SupplierItems.ID,SUM(SupplierItems.SupplierItemCost +
           SupplierItems.SupplierItemInventory
          ) AS TotalCost
FROM SupplierItems 
GROUP BY SupplierItems.ID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...