Teradata 根据条件返回第一行的查询

Teradata 根据条件返回第一行的查询,teradata,Teradata,我只想在满足条件时从表中获取第一行。该表有多个条目,只有当列的特定值出现在表的顶部时,查询才应返回输出,否则查询不应返回任何行 SELECT (CASE WHEN COL1 = 'AAA' THEN COL1 ELSE NULL END) AS A FROM TABLE QUALIFY ROW_NUMBER () OVER (ORDER BY TIMESTAMP DESC) = 1 WHERE A IS NOT NULL 如果列的值为“AAA”,则该列应返回输出,否则不应返回任何行。即使第一行

我只想在满足条件时从表中获取第一行。该表有多个条目,只有当列的特定值出现在表的顶部时,查询才应返回输出,否则查询不应返回任何行

SELECT (CASE WHEN COL1 = 'AAA' THEN COL1 ELSE NULL END) AS A
FROM TABLE
QUALIFY ROW_NUMBER () OVER (ORDER BY TIMESTAMP DESC) = 1
WHERE A IS NOT NULL

如果列的值为“AAA”,则该列应返回输出,否则不应返回任何行。即使第一行不是“AAA”,我仍将输出为“AAA”。

此查询应从表中获取第一行,并查看COL1是否等于AAA

SELECT * FROM (SELECT * FROM TABLE ORDER BY TIMESTAMP DESC LIMIT 1) WHERE COL1 = 'AAA'

您必须将您的条件移至何处才能获得资格:

SELECT *
FROM TABLE
QUALIFY ROW_NUMBER () OVER (ORDER BY TIMESTAMP DESC) = 1
    AND COL1 = 'AAA'

我尝试了这个查询,它工作了SELECT*fromselecttop1*fromtableorderbytimestampdesca,其中COL1='AAA',感谢您的帮助