我有一个数据库,我需要将用户分组在一起,然后将发票金额总计为总计。我似乎无法找到一种优雅的方法来执行此操作,我尝试通过 IF 语句使用每个 usersID 迭代 while 循环,但此方法不实用,因为稍后添加的每个新用户都需要添加新的 if 语句。
SQL 示例
UserID Invoice InvoiceAMT
419 1 20.00
419 2 30.99
420 3 30.00
421 4 1.00
419 5 60.00
我想要返回的是
UserID Total Invoices Total Amount
419 3 110.99
420 1 30.00
421 1 1.00
最佳答案
将GROUP BY
与SUM()
结合使用
SELECT UserID, COUNT(Invoice) `Total Invoices`, SUM(InvoiceAMT) `Total Amount`
FROM table
GROUP BY UserID
带有空格的列名是不好的,所以要避免使用它们。例如,您应该使用 TotalInvoices
或 Total_Invoices
Total Invoices
关于mysql - PHP/SQL 对行和列进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25612588/