日期:2014-05-18  浏览次数:20443 次

求解数据集合问题
数据库里有一个表data_table,字段如下:
id name data
1 A 50.2
2 B 1.5
3 C 5.6
4 D 6.2
5 E 6.3
...
...
...

数据上万条,现在想要找data的累积和的集合。比如14=6.2+6.3+1.5,那么累积和等于14的一个id集合是(2,4,5),但是当数量很大的时候人工求解的难度就很大了。求高手指点!谢谢!

如:累积和是1000的集合有哪些?

------解决方案--------------------
最简单的逻辑:
A,B,C 三表连接,再通过你的条件限定,
WHERE A.DATA<=14 AND B.DATA<=14 AND C.DATA<=14 AND A.DATA+B.DATA=C.DATA=14
A.ID<>B.ID AND A.ID<>C.ID AND B.ID<>C.ID
------解决方案--------------------
探讨

楼上的朋友你好,id集合元素个数不一定是3。我只是举例比如14=6.2+6.3+1.5。如果存在12.5,也可以是14=12.5+1.5

------解决方案--------------------
探讨

引用:
引用:

楼上的朋友你好,id集合元素个数不一定是3。我只是举例比如14=6.2+6.3+1.5。如果存在12.5,也可以是14=12.5+1.5

那你自己可以写方法定义集合的元素个数,再动态编写表和个数和条件的个数

假如元素格式是100,那计算量太大了,恐怕计算机承受不了。。。。