mysql多表查询分组求和
时间: 2023-09-24 17:05:43 浏览: 128
假设我们有两个表:orders(订单)和 customers(顾客),orders表中有顾客ID(customer_id)和订单总价(total_price)两个字段,customers表中有顾客ID(id)和顾客姓名(name)两个字段。
我们想要按照顾客姓名分组,并计算每个顾客的订单总价之和,可以使用如下的SQL查询语句:
```
SELECT customers.name, SUM(orders.total_price) AS total_price_sum
FROM orders
JOIN customers ON orders.customer_id = customers.id
GROUP BY customers.name;
```
解释一下:
- `SELECT`语句中指定了查询的字段,包括顾客姓名和订单总价之和,使用`SUM`函数对订单总价进行求和。
- `FROM`语句中指定了查询的表,使用`JOIN`关键字将orders表和customers表连接起来,连接条件是orders表中的customer_id字段和customers表中的id字段相等。
- `GROUP BY`语句中指定了分组的字段,即按照顾客姓名进行分组。
执行以上查询语句,会得到类似如下的结果:
```
+-------+----------------+
| name | total_price_sum |
+-------+----------------+
| Alice | 1350.5 |
| Bob | 2020.0 |
| Carol | 780.0 |
+-------+----------------+
```
这个结果表示,Alice的订单总价之和是1350.5,Bob的订单总价之和是2020.0,Carol的订单总价之和是780.0。
阅读全文