无法分离MySQL查询中的不同ID

时间:2017-10-13 15:35:10

标签: sql distinct summary

  

编写一个SELECT语句,为包含这些列的Invoices表中的每个供应商返回一行:   Vendors表中的vendor_id列   该供应商的发票表中的invoice_total列的总和

SELECT 
    distinct vendor_id, SUM(invoice_total) AS Invoice_totals
FROM
    invoices i
    join vendors v using (vendor_id);

我能够显示没有SUM(invoice_total)的所有34个vendor_ids,但是一旦我添加它,它就将它们全部合并为一个。我怎样才能避免这种情况发生?

1 个答案:

答案 0 :(得分:6)

请勿将select distinctsum()一起使用。使用group by。这使得查询的意图更加清晰。

其次,您需要left join

SELECT vendor_id, SUM(i.invoice_total) AS Invoice_totals
FROM vendors v LEFT JOIN
     invoices i
     using (vendor_id)
GROUP BY vendor_id;