MySql 查询指定字段的数据累加到指定值停止并返回结果应该怎么写?
数据表如下:
| id | name | value |
|---|---|---|
| 1 | 乔峰 | 30 |
| 2 | 段誉 | 50 |
| 3 | 虚竹 | 40 |
| 4 | 紫嫣 | 20 |
指定值:$sum = 100
以 id 正序排列字段,从第一条记录的 value 开始累加, id=1 的 value 加 id=2 的 value … 直到累加的值大于等于 $sum 结束查询并返回结果。
以上数据表正确的查询结果集返回的是 1,2,3 3条记录。
我第一时间想到的是用 for 循环来查询,但这也太憨了,MYSQL 学的不好,还希望大家不吝赐教,非常感谢。
关于 LearnKu
建议你分页批量查,比如,一次查100条(这个数据量不算多,相比你查100次,性能好的多),然后通过程序进行统计,如果总和不够,就继续查下一页,查到够为止。当然,你应当避免太多次的查询,所以一页查多少条,你根据自己业务去评估。