将mysql中的列从上到下行求和并选择值所在的行

Posted

技术标签:

【中文标题】将mysql中的列从上到下行求和并选择值所在的行【英文标题】:sum columns in mysql from up to down rows and select the rows in which the value falls 【发布时间】:2019-01-13 04:30:10 【问题描述】:

假设我在 db 表中有这些类型的数据。我如何执行查询,例如当我传递一些值时,它应该从上到下行求和,并选择对值求和所需的所有行。 1.当我传递值 11 时,它应该从上到下行和 id 为 1 2 3 的行求和,即(3+2+7),因为 11 落在第三行范围内,并选择所有等于或大于该值的行) .

2.let 说如果我传递了 20 个值,它应该对第 1 2 3 4 行求和,因为 20 落在 (3+2+7+10) 第 4 列中并选择所有 4 行。

ID, TABLE_COLUMN
1,2
2,3
3,7
4,10
5,11
6,15

请帮忙:)

【问题讨论】:

【参考方案1】:

一种方法使用检查滚动和的相关子查询:

SELECT t1.ID, t1.TABLE_COLUMN
FROM yourTable t1
WHERE (SELECT COALESCE(SUM(t2.TABLE_COLUMN), 0)
       FROM yourTable t2
       WHERE t2.ID < t1.ID) < 20;

Demo

【讨论】:

感谢蒂姆,但我想这行不通。作为......

以上是关于将mysql中的列从上到下行求和并选择值所在的行的主要内容,如果未能解决你的问题,请参考以下文章

对 data.frame 或矩阵中的行求和

杨氏矩阵(二维数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字)

3-二维数组中的查找

从上到下滚动时如何自动停止对项目的列表视图取消选择?

剑指 Offer——1. 二维数组中的查找

根据另一个表中的列值选择一个表中的行?