如何在SQL的同一列中比较两个日期

萨拉·莫拉迪(Sara Moradi)

我必须比较它们在表的一列中的两个日期,我需要进行比较以找到所需的特定日期之前和之后的日期,还必须在3个不同的列中显示它们

我写了这段代码,但这是完全错误的:

CREATE VIEW
AS
SELECT (CASE 
        WHEN T1.BuyDate > T2.BuyDate THEN T1.BuyDate END)
AS PreviousBuyDate, T1.ItemName, T1.BuyDate,  
(CASE 
        WHEN T1.BuyDate > T2.BuyDate THEN T1.BuyDate END)
AS  NextDate
FROM FoodSara_tbl T1 , FoodSara_tbl T2
GO

输入:

|ItemName | BuyDate | ItemOrigin |
|---------|---------|------------|
| cake    |2020-10-2| UK         |
| coca    |2020-5-2 | US         |
| cake    |2019-10-6| UK         |
| coca    |2020-12-2| US         |

输出:

|PreviousDate | ItemName | BuyDate |NextDate |
|-------------|----------|---------|---------|
| NULL        |cake      |2019-10-6|2020-10-2|
| NULL        |coca      |2020-5-2 |2020-12-2|
|2019-10-6    |cake      |2020-10-2| NULL    |
| 2020-5-2    |coca      |2020-12-2| NULL    |

PS:我得安排个约会。

哈桑·法蒂

尝试使用以下LAG功能:

select LAG(BuyDate,1) OVER (PARTITION BY ItemName ORDER BY BuyDate asc) previous_date 
     , ItemName
     , BuyDate
     , LAG(BuyDate,1) OVER (PARTITION BY ItemName  ORDER BY BuyDate desc) next_date
from FoodSara_tbl

查看最终结果:sqlfiddle

要么

用途LAGLEAD功能:

select LAG(BuyDate,1) OVER (PARTITION BY ItemName order by BuyDate) previous_date 
     , ItemName
     , BuyDate
     , LEAD(BuyDate,1) OVER (PARTITION BY ItemName order by BuyDate) next_date
from FoodSara_tbl

查看最终结果;sqlfiddle

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在一列中比较两个具有不同精度级别的数据框

如何在bash脚本中比较两个日期?

如何在Django中比较两个日期时间

如何在Java中比较两个日期?

如何在AngularJS中比较两个日期?

如何在razor mvc中比较两个日期?

如何在同一循环中比较两个查询结果

如何在Java中比较两个日期,然后将结果与另一个日期比较?

如何在sql oracle中比较两个datetime

比较同一列中的两个值

如何在Excel中的两个单元格中比较两个日期?

比较 SQL Server 中同一列的两个值

如何基于单独的日期列划分同一列中的两个值

如何在Swift 3中比较两个日期(NSDate)并获取它们之间的日期?

如何在Tibco BW中比较两个日期和当前日期?

如何基于组变更找到同一列中两个日期之间的间隔

如何从同一列中获取两个日期之间的增量?商业智能

如何从同一列中的两个不同日期输出前 5 名?

datetime如何工作以及如何在Windows窗体ADO Entities中比较两个日期?

如何在SQL中比较三个相关表中的两个相关列值

如何在Postgres中比较同一表的两个数组行?

如何在一列MYSQL中将两个过去的日期之间的日期分组

如何在查询中比较两个日期和时间

如何在jQuery中比较月份和年份的两个日期

如何在JavaScript中比较yy-dd-mm格式的两个日期?

如何在Java中比较两个日期和时间

如何在Power Bi查询中比较两个日期

如何在Maven应用程序Java中比较两个日期

如何在angular5中比较两个日期?