Сумма после GROUP BY в SQLITE3 PHP - PullRequest
       2

Сумма после GROUP BY в SQLITE3 PHP

0 голосов
/ 19 декабря 2018

Вот моя таблица

   customerID  invoice     payment
   1            101            300
   1            101            300
   3            102            200
   4            103            200
   1            104            200

Что я хочу сделать, это сначала: групповой счет, затем сумма оплаты сгруппированного счета (300 + 200)

 select customerID  , sum(payment) as totalpaid from mytable WHERE
 customerID  ='1' group by `invoice`

Ожидаемый результат500. Но я получаю 800, используя приведенный выше код.Как это сделать правильно?

1 Ответ

0 голосов
/ 19 декабря 2018

Если вы хотите исключить дубликаты, используйте DISTINCT:

SELECT 
  customerID, 
  SUM(payment) as totalpaid 
FROM 
   (SELECT DISTINCT customerID, invoice, payment FROM customers) 
GROUP BY customerID

Для customerID = 1 вы можете сделать

SELECT 
  customerID, 
  SUM(payment) as totalpaid 
FROM 
   (SELECT DISTINCT customerID, invoice, payment FROM customers) 
WHERE customerID = 1

без необходимости GROUP BY.

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