首页 > 解决方案 > 将 MAX_BY 函数转换为 Oracle SQL

问题描述

我正在尝试在 Oracle SQL 中运行查询并且遇到问题,因为该查询最初是用不同的 SQL 语言编写的。有谁知道这个 Max_by 函数将如何转换为 Oracle SQL?我认为它最初来自 Presto 或 MySQL。到目前为止,我还没有弄清楚如何重新创建它。

MAX_BY(e.new_used_flag||'#'||e.lease_flag||'#'||e.sales_type, e.purchase_dt_key) AS prior_experian

标签: sqloracle

解决方案


在 Oracle 中,您可以使用KEEP

MAX(e.new_used_flag || '#' || e.lease_flag || '#' || e.sales_type) KEEP
    (DENSE RANK FIRST ORDER BY e.purchase_dt_key DESC) AS prior_experian

推荐阅读