sum colum值与其他列不同

时间:2015-12-04 09:21:41

标签: mysql

我运行了这个查询:

SELECT
  billed_currency,
  sum(billed_total_price) as sum
FROM
  invoice
WHERE
  account_id = 91863

我得到了这个结果:

72012

这是表值总结的表格

see image

第3,4行具有相同的stripe_invoice_id。

我只需要对不重复stripe_invoice_id的发票的值求和,因此查询必须返回值48012

我该怎么做?

1 个答案:

答案 0 :(得分:3)

如果重复stripe_invoice_id的行也重复billed_price,并且您只想将其相加一次,则可以使用DISTINCT:

SELECT DISTINCT stripe_invoice_id, billed_total_price
FROM invoice
WHERE account_id = 91863

您可以将其用作子查询:

SELECT stripe_invoice_id, SUM(billed_total_price)
FROM (
  SELECT DISTINCT stripe_invoice_id, billed_total_price
  FROM invoice
  WHERE account_id = 91863
) s
GROUP BY stripe_invoice_id