sql - 将 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
解决方案
在 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
推荐阅读
- mongodb - 多个 $lookup 聚合,有些是 1 比 1,有些是 1 比多
- c# - c# razor - 如果基于请求数据的 sql 条件
- javascript - 如何通过单个反应选择正确使用 Yup 模式?
- python - 如何修复 'TypeError: unhashable type: 'list' 错误?
- java - 如何在 Java 中使用 POST/GET http 方法发送/获取数据 - REST API
- angular - 使用响应式表单和 ChangeDetectionStrategy.OnPush 显示验证消息
- firebase - 如何在 Web CMS 中隐藏文档字段,但在 android 和 iOS 中不隐藏
- javascript - Electron 中的 renderer.js 有什么特别之处吗?
- javascript - 将数组值转换为对象,根据索引位置添加键
- ruby - 为什么用于在本地选择文件的相同命令在 CircleCI 中不起作用?