【发布时间】:2012-08-02 19:37:45
【问题描述】:
是否可以返回满足选择条件的行的列值的总和,不仅针对每个单独的行,而且针对满足相同条件的多个组?
例如,考虑:
id order_id quantity
1 1 1
2 1 3
3 1 5
4 2 2
5 2 4
什么 MySQL SELECT 查询可以返回以下结果:
id order_id quantity order_sum
1 1 1 9
2 1 3 9
3 1 5 9
4 2 2 6
5 2 4 6
编辑: 后续问题:假设结果是由具有多个条件的查询产生的,那么这些条件在最终查询中将如何处理?
【问题讨论】:
-
您需要 order_sum 实际上是一列吗?
-
在大多数其他现代 DBMS 中,您可以使用分析函数来执行此操作。 MySQL 缺少 SUM() 分析函数,因此 Andomar 对子查询进行自连接的答案似乎是下一个最佳选择。