Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.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
如何将增量日期id添加到逻辑中?mysql_Mysql_Sql - Fatal编程技术网

如何将增量日期id添加到逻辑中?mysql

如何将增量日期id添加到逻辑中?mysql,mysql,sql,Mysql,Sql,这看起来很简单,但我不确定如何在mysql中实现。我有一张交易状态变化表。我想做的是为每笔交易找到最长日期,因此它的状态在一个给定的月份。然而,我想计算下个月(第一个月)的交易,我如何在mysql中做到这一点 我有以下建议: SELECT Trade_id, max(Status_DateTime), DATE_FORMAT(Status_DateTime,'%Y%m') monthyear, DATE_ADD(DATE_FORMAT(Status

这看起来很简单,但我不确定如何在mysql中实现。我有一张交易状态变化表。我想做的是为每笔交易找到最长日期,因此它的状态在一个给定的月份。然而,我想计算下个月(第一个月)的交易,我如何在mysql中做到这一点

我有以下建议:

SELECT Trade_id,
        max(Status_DateTime),
        DATE_FORMAT(Status_DateTime,'%Y%m') monthyear,
        DATE_ADD(DATE_FORMAT(Status_DateTime,'%Y%m'), interval 1 month)  as MonthYear_increment
FROM tabletrades
WHERE trade_status in ('open','partial','partial01') 
and Traade_id in('1234') 
group by Trade_id, 
    DATE_FORMAT(Status_DateTime,'%Y%m'),
    DATE_ADD(DATE_FORMAT(Status_DateTime,'%Y%m'), interval 1 month),
但这并没有真正给我想要的东西。。因为MonthYear_增量为空?我需要这个专栏,因为我需要能够计算我的交易作为下一个月的第一


我如何做到这一点,以便我得到一年中的下一个月作为一列,我得到的格式是“年-月-日”,其中“日”是01。目前日期是202005年,我希望第一次也包括在内。您可以使用
row\u number()
获取一个月的最后一个值,然后添加一个月:

SELECT YEAR(status_datetime + interval 1 month),
       MONTH(status_datetime + interval 1 month),
       t.tradeid, t.status
FROM (SELECT t.*,
             ROW_NUMBER() OVER (PARTITION BY year(Status_DateTime), month(Status_DateTime) ORDER BY Status_DateTime desc) as seqnum
      FROM tabletrades
      WHERE trade_status in ('open','partial','partial01')  AND
            Traade_id in ('1234') 
     ) t
WHERE seqnum = 1

这不起作用,sql语法错误:“select”在此位置对于此服务器版本“expecting”(“with.)无效。我正在使用mysqlworkbench@Maths12从MySQL 8开始,
row_number()。