条件 MAX(date_x) = YEAR(current_date) Teradata,SQL
Condition MAX(date_x) = YEAR(current_date) Teradata, SQL
我正在处理数据集。我想创建一个声明:
如果一个人的观察结果为 MAX(date_x) = YEAR(current_date),那么它将在所有行上 return TRUE(1),也包括去年和前年。
如果一个人没有观察到 MAX(date_x) = YEAR(current_date),则所有行都为 FALSE(0)。
这可能吗?非常感谢!
这是输出的示例,因为 Mike 和 Ofelia 在 2021 年有行,所以他们所有的行的值都是 1
这可以使用子查询来完成,以获取每个人的最大日期,然后是案例语句
SELECT
t1.*
,CASE
WHEN EXTRACT(YEAR FROM MAX_DATE) = EXTRACT(YEAR FROM CURRENT_DATE)
THEN 'True'
ELSE 'False'
END AS CURRENT_YEAR_FLAG
FROM (SELECT *
,MAX(date_x) OVER(PARTITION BY PERSON) AS MAX_DATE
FROM TABLE) t1
我正在处理数据集。我想创建一个声明:
如果一个人的观察结果为 MAX(date_x) = YEAR(current_date),那么它将在所有行上 return TRUE(1),也包括去年和前年。
如果一个人没有观察到 MAX(date_x) = YEAR(current_date),则所有行都为 FALSE(0)。
这可能吗?非常感谢!
这是输出的示例,因为 Mike 和 Ofelia 在 2021 年有行,所以他们所有的行的值都是 1
这可以使用子查询来完成,以获取每个人的最大日期,然后是案例语句
SELECT
t1.*
,CASE
WHEN EXTRACT(YEAR FROM MAX_DATE) = EXTRACT(YEAR FROM CURRENT_DATE)
THEN 'True'
ELSE 'False'
END AS CURRENT_YEAR_FLAG
FROM (SELECT *
,MAX(date_x) OVER(PARTITION BY PERSON) AS MAX_DATE
FROM TABLE) t1