Sql 获取状态的最高值
Teradata查询如下所示:Sql 获取状态的最高值,sql,teradata,Sql,Teradata,Teradata查询如下所示: Select a, b, MIN(Record_Start_Date) as MIN_Record_Start_Date, MAX(Record_End_Date) as MAX_Record_End_Date FROM tbl GROUP BY 1,2 现在我想添加第三个属性“status”。问题是-我只想要“last”状态-一行的值,最大值为“Record\u End\u Date” 有人能帮忙吗?切换到OLAP函数而不是聚合: SELECT a,
Select
a,
b,
MIN(Record_Start_Date) as MIN_Record_Start_Date,
MAX(Record_End_Date) as MAX_Record_End_Date
FROM tbl
GROUP BY 1,2
现在我想添加第三个属性“status”。问题是-我只想要“last”状态-一行的值,最大值为“Record\u End\u Date”
有人能帮忙吗?切换到OLAP函数而不是聚合:
SELECT
a,
b,
MIN(Record_Start_Date) OVER (PARTITION BY a, b) AS MIN_Record_Start_Date,
Record_End_Date AS MAX_Record_End_Date,
Status
FROM tbl
QUALIFY
ROW_NUMBER()
OVER (PARTITION BY a,b
ORDER BY Record_End_date DESC) = 1
切换到OLAP函数而不是聚合:
SELECT
a,
b,
MIN(Record_Start_Date) OVER (PARTITION BY a, b) AS MIN_Record_Start_Date,
Record_End_Date AS MAX_Record_End_Date,
Status
FROM tbl
QUALIFY
ROW_NUMBER()
OVER (PARTITION BY a,b
ORDER BY Record_End_date DESC) = 1
max(Record\u End\u Date)
不是在teradata上工作吗?我想要STATUS列的值-Record\u End\u Date=max(Record\u End\u Date)不是max(Record\u End\u Date)
在teradata上工作吗?我想要STATUS列的值-Record\u End\u Date=max(Record\u End\u Date)的值