【发布时间】:2017-10-26 11:45:59
【问题描述】:
我的 SQL 服务器中有一张表,上面有一些日期。现在我想创建一个 Select,它给我一个包含所有日期的列,然后是第二列,其中包含第一列的先前日期,第三列包含前一个日期列 (c2) 的先前日期。 举例:
c1(orginal) c2(prevoius of c1) c3(previous of c2)
2017-10-15 00:00:00 2017-04-15 00:00:00 2016-10-15 00:00:00
2017-04-15 00:00:00 2016-10-15 00:00:00 2016-04-15 00:00:00
2016-10-15 00:00:00 2016-04-15 00:00:00 2015-10-15 00:00:00
2016-04-15 00:00:00 2015-10-15 00:00:00 null
2015-10-15 00:00:00 null null
颜色示例:
是否可以进行 SELECT,其中第一行是第 1 列的第一个日期,第 1 列的第二个日期和第 1 列的第三个日期。第二行是第 1 列的第二个日期,列的第三个日期1 和第 1 列的第四个。
我当前的查询
SELECT DISTINCT(BFSSTudStichdatum) AS C1, BFSSTudStichdatum AS C2,
BFSSTudStichdatum AS C3 FROM BFSStudierende
ORDER BY C1 DESC
结果:
【问题讨论】:
-
您已经尝试过哪些查询?
-
你的意思是 column2 中 column1 的上一个最大日期等。你的问题说明了所有以前的日期,这意味着你的结果集的大小会爆炸
-
您的数据是否可以包含重复项,如果可以,是否应消除重复项?
标签: sql sql-server tsql