gpt4 book ai didi

MySQL第一行column3和第二行column2之间的日期差异

转载 作者:行者123 更新时间:2023-11-29 13:02:06 27 4
gpt4 key购买 nike

我搜索了上述主题,只在 Oracle 中得到了使用特定于 Oracle 的某些关键字的查询。

+----------+------------+--------------------+
| Agent_id | valid_from | last_modified_date |
+----------+------------+--------------------+
| 13002 | 2010-12-25 | 2011-01-03 |
| 13002 | 2011-01-03 | 2011-08-25 |
| 13002 | 2011-08-26 | 2012-12-30 |
| 13002 | 2013-01-01 | 2013-01-01 |
| 12110 | 2014-02-27 | 2014-03-03 |
| 12110 | 2014-03-25 | 2014-12-25 |
+----------+------------+--------------------+

我有上面的表值,并且想要检索第一行的 last_modified_date 和第二行的 valid_from 日期之间的差异,同样对于同一代理(agent id 此处)。

结果表:

+----------+------------+--------------------+-----------+
| Agent_id | valid_from | last_modified_date | datediff |
+----------+------------+--------------------+-----------+
| 13002 | 2010-12-25 | 2011-01-03 | 0 |
| 13002 | 2011-01-03 | 2011-08-25 | 0 |
| 13002 | 2011-08-26 | 2012-12-30 | 1 |
| 13002 | 2013-01-01 | 2013-01-01 | 1 |
| 12110 | 2014-02-27 | 2014-03-03 | 0 |
| 12110 | 2014-03-25 | 2014-12-25 | 22 |
+----------+------------+--------------------+-----------+

如果第一行没有比较日期,差异应为0。这些是状态从 Y 更改为 D 的日期集,用于查找代理何时没有任何事件。

请帮忙!!

最佳答案

使用DATEDIFF函数。

MySQL 示例:

SELECT 
DATEDIFF(valid_from,last_modified_date) AS 'days'
FROM
table

Working example on SQLFiddle .

这将返回天数差异。 Source

同样适用于SQL Server 2005-2012:

SELECT 
DATEDIFF(day,valid_from,last_modified_date ) AS 'days'
FROM
table

这将返回天数差异。 Source

关于MySQL第一行column3和第二行column2之间的日期差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23195694/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com