Teradata - 从 table 获取第二个最新日期并引用它
Teradata - Get the 2nd most current date, from a table, and reference it
假设我们有一个 table 条目和 运行 日期。它可能会在周末或节假日更新,也可能只是 运行 M-F。并且此检查可以 运行 在当天完成所有负载之前。因此,我想找到最大日期之前的条目。
Run_Date Entry
2020-03-09 z
2020-03-06 x
2020-03-05 y
在这种情况下,我想 return 2020 年 3 月 6 日。我会在 CTE 或子查询中使用它。
此代码 return 是前两个日期,我们看到第二个日期是 3/6,但我该如何挑出它?
SELECT TOP 2
RUN_DATE
FROM DATABSE1.TABLEA
GROUP BY RUN_DATE
ORDER BY RUN_DATE DESC
SELECT
RUN_DATE
FROM DATABSE1.TABLEA
QALIFY
ROW_NUMBER()
OVER (ORDER BY RUN_DATE DESC) = 2 -- 2nd highest date
这假定 RUN_DATE 是唯一的,否则切换到 DENSE_RANK 加上 DISTINCT
假设我们有一个 table 条目和 运行 日期。它可能会在周末或节假日更新,也可能只是 运行 M-F。并且此检查可以 运行 在当天完成所有负载之前。因此,我想找到最大日期之前的条目。
Run_Date Entry
2020-03-09 z
2020-03-06 x
2020-03-05 y
在这种情况下,我想 return 2020 年 3 月 6 日。我会在 CTE 或子查询中使用它。
此代码 return 是前两个日期,我们看到第二个日期是 3/6,但我该如何挑出它?
SELECT TOP 2
RUN_DATE
FROM DATABSE1.TABLEA
GROUP BY RUN_DATE
ORDER BY RUN_DATE DESC
SELECT
RUN_DATE
FROM DATABSE1.TABLEA
QALIFY
ROW_NUMBER()
OVER (ORDER BY RUN_DATE DESC) = 2 -- 2nd highest date
这假定 RUN_DATE 是唯一的,否则切换到 DENSE_RANK 加上 DISTINCT