Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 拾取某列的下一个值,其中某个特定值的最后一次出现在SQL中的另一列中_Mysql_Sql_Oracle - Fatal编程技术网

Mysql 拾取某列的下一个值,其中某个特定值的最后一次出现在SQL中的另一列中

Mysql 拾取某列的下一个值,其中某个特定值的最后一次出现在SQL中的另一列中,mysql,sql,oracle,Mysql,Sql,Oracle,我需要有最后的购买日期后,最近的全部售罄的数量状态 在上述情况下,它在19年9月13日售出两次,第二次在19年9月29日售出,作为输出,我需要将其值设置为19年9月26日,因为这是最近售出状态之前的最新购买 预期结果: date buys/ quantity Rolling Sum sell 08-AUG-19 BUY 100 - 13-SEP-19 SELL -100 0 26-SEP-19 B

我需要有最后的购买日期后,最近的全部售罄的数量状态

在上述情况下,它在19年9月13日售出两次,第二次在19年9月29日售出,作为输出,我需要将其值设置为19年9月26日,因为这是最近售出状态之前的最新购买

预期结果:

date        buys/    quantity   Rolling Sum
            sell
08-AUG-19   BUY      100       -
13-SEP-19   SELL    -100       0
26-SEP-19   BUY      200      200
28-SEP-19   SELL    -50       150
29-SEP-19   SELL    -150       0
在最近的售罄状态之前获取最新购买信息

这里有一个选择:

26-sep-19 
这与您的示例数据一起返回:

select max(date)
from mytable t
where 
    buy_sell = 'BUY'
    and date < (
        select max(date) 
        from mytable 
        where rolling_sum = 0 and buy_sell = 'SELL'
)
注:这假设

1您正在将日期存储为类似日期的数据类型,而不是字符串


2滚动求和是表中的实际列指定预期结果集。c/c是从哪里来的?您使用的是MySQL还是Oracle?请参阅19年9月26日的输出我也假设了这一点,但我怀疑滚动求和不是OP表中的实际列table@Pepper:啊,你也许是对的。我在答复中提到了这一点。 | max(date) | | :--------- | | 2019-09-26 |