我有一个简单的表,其中包含我希望根据这些值的总和(不超过某个限制组总和)将数据块/分区分成不同组的值。对基于总和的组的SQL查询
例如。想象一个表如下所示:
Key Value
-----------
A 1
B 4
C 2
D 2
E 5
F 1
而且我想组进组,使得没有一个分组的总和将超过某一给定值(比如5)。
结果会是这样的:
Group Key Value
-------------------
1 A 1
B 4
--------
Total: 5
2 C 2
D 2
--------
Total: 4
3 E 5
--------
Total: 5
4 F 1
--------
Total: 1
是这样的查询可能吗?
@ user545242 - 这是一个应通过报告引擎解决的问题,或者输出到Excel并启用Excel的小计功能。这不是您应该尝试在数据库中解决的问题类型。 – Thomas 2011-03-21 23:33:06
@Thomas - 我不同意:不熟悉的问题(或问题集)并不意味着SQL引擎不应该这样做。考虑到允许一些约束条件,很有可能存在解决方案等。 – topchef 2011-03-22 01:52:48
@topchef - 我们同意不同意。这个问题完全是关于演示。 SQL语言面向集合的检索。我们可以使用查询来获取总数。我们可以使用查询来获取单个金额的集合。试图让OP在OP中很好地显示,就是报告。即使你可以产生一个返回这些结果的查询,数据层代码也会窒息。正确的答案是提取原始数据并使用报告工具。 – Thomas 2011-03-22 02:48:47