mysql - PHP/SQL 对行和列进行分组

标签 mysql sql

我有一个数据库,我需要将用户分组在一起,然后将发票金额总计为总计。我似乎无法找到一种优雅的方法来执行此操作,我尝试通过 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 BYSUM()结合使用

SELECT UserID, COUNT(Invoice) `Total Invoices`, SUM(InvoiceAMT) `Total Amount`
FROM table
GROUP BY UserID

带有空格的列名是不好的,所以要避免使用它们。例如,您应该使用 TotalInvoicesTotal_Invoices

,而不是 Total Invoices

关于mysql - PHP/SQL 对行和列进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25612588/

相关文章:

c# - 如何根据数据库中的数字字段填充动态下拉列表?

sql - Rails 5 - 如何使用 postgresql 查询?

php - 如何在codeigniter中获取单行中的所有行数据

php - 需要合并mysql表中的两列日期和时间并找出与当前日期和时间的差异

php - mysql_fetch_array 不工作

sql - 通过 SQL 删除重复条目?

mysql - 使用子查询汇总Mysql表

php - Mysql登录-选择子句

SQL - 从多个表中获取关联数据

sql - 删除重复记录,只保留最新的一条