当前位置: 首页 > 面试题库 >

将行限制为MySQL中某一列的总和等于某个值的位置

冀翰翮
2023-03-14
问题内容

我想编写一个查询,该查询返回所有行,直到某一列值的总和达到某个值为止。

例如在下表中:

           DATE             ETC      Meeting
    2013-02-01 00:00:00    85482        1
    2013-02-01 00:00:00    47228        2
    2013-02-02 00:00:00    12026        4
    2013-02-03 00:00:00    78927        6
    2013-02-04 00:00:00    85662        2
    2013-03-05 00:00:00    47978        1
    2013-08-07 00:00:00     8582        1

如果我要获取行,直到列的总和Meeting等于7。

           DATE             ETC      Meeting
    2013-02-01 00:00:00    85482        1
    2013-02-01 00:00:00    47228        2
    2013-02-02 00:00:00    12026        4

如果我要获取行,直到列的总和Meeting等于13。

     DATE                   ETC      Meeting
    2013-02-01 00:00:00    85482        1
    2013-02-01 00:00:00    47228        2
    2013-02-02 00:00:00    12026        4
    2013-02-03 00:00:00    78927        6

问题答案:

这是一种应在MySQL中工作的方法:

SELECT
  O.Id,
  O.Type,
  O.MyAmountCol,
  (SELECT
     sum(MyAmountCol) FROM Table1
   WHERE Id <= O.Id) 'RunningTotal'
FROM Table1 O
HAVING RunningTotal <= 7

在这种情况下,它涉及计算运行总计并选择记录,而运行总计小于或等于给定数字7

SQL小提琴



 类似资料:
  • 问题内容: 假设我有一个包含A列,B列和C列的表。如何编写查询以选择A列或B列或C列等于某个值的所有行?谢谢。 更新: 我想忘记提及我的困惑了。假设还有另一列(第1列),我需要根据以下逻辑进行选择: …其中Column1 =’..’AND(ColumnA =’..’OR ColumnB =’..’OR ColumnC =’..’) 像我上面用括号所做的那样对语句进行分组以获得所需的逻辑有效吗? 问

  • 对于每个组A、B、C、D,每次组合y、z出现在组末尾时,我都想删除b列中的值z。 如果我们有 a==“C”的情况,其中 b 值是 y,z,z,z,z,我想删除所有 z。但是,在 a==“D” 中,由于 x 是最后一个值,因此无需更改任何内容。 结果如下所示: 通过在< code>dplyr中进行分组,我可以确定每个值在A中最后出现的位置,因此< code>a=="A"中描述的基本情况不成问题。对于

  • 本文向大家介绍Mysql将一个表中的某一列数据复制到另一个表中某一列里的方法,包括了Mysql将一个表中的某一列数据复制到另一个表中某一列里的方法的使用技巧和注意事项,需要的朋友参考一下 mysql复制表中的一列到另一个表中 有时候,我们需要复制某个字段一整列的数据到另外一个新的字段中,这很简单,SQL可以这么写: 大概写法如下: 有Navicat等工具更好,可以直接选中一列数据,拷贝粘贴到你需要

  • 我在从一个表中插入一个列的值作为另一个表中的列时遇到了麻烦。我在col1中有一些值的表A:和另一个列等于col1值的表B。 我想把表A,col1中的其余值添加为表B中的列。请帮助我解决我的问题。我正在使用SQL server 2012。

  • 我在MySQL中的查询有问题。我的表有4列,看起来如下所示: 和是来自不同表的外键。 我只想删除一行: 它出现了两次,所以我只想删除它。 我尝试了以下查询: 但它将删除这两个(因为它们是重复的)。有什么关于解决这个问题的提示吗?

  • 答案的一部分可以在这里找到(如何根据列值从DataFrame中选择行?),但是它只适用于一列。我想知道如何将它应用于多列(本例中为两列)中的成对值。 我有一个数据帧df,其中过滤列是B和C(NaN表示空单元格): 数据目录的代码: