场景说明
该场景属于“函数与表达式”,适用于 sql、mybatis、plsql。权威状态:可进入权威统计。
正向识别示例
以下均来自规则库中 should_hit=true 的合成公开示例,不是客户代码。
SELECT MAX(sal) KEEP (DENSE_RANK FIRST ORDER BY hire_date) FROM emp
SELECT dept, MIN(sal) KEEP (DENSE_RANK LAST ORDER BY ver) FROM emp GROUP BY dept
21 个精确目标版本 / 模式
| 目标 | 支持度 | 证据等级 | 公开边界 | 深入核对 |
|---|---|---|---|---|
| GaussDB 505(ORA 模式) | partial | artifact_verified | 未登记额外公开说明,按来源与验证步骤复核。 | 改造点 · 真机工件 |
| openGauss 5.0 A 模式 | none | doc_based | 未登记额外公开说明,按来源与验证步骤复核。 | 改造点 |
| openGauss 6.0 A 模式 | none | doc_based | 未登记额外公开说明,按来源与验证步骤复核。 | 改造点 |
| 磐维 PanWeiDB 3.0 A 模式 | partial | artifact_verified | 未登记额外公开说明,按来源与验证步骤复核。 | 改造点 · 真机工件 |
| PostgreSQL 16 + orafce 4.16 | none | doc_based | 未登记额外公开说明,按来源与验证步骤复核。 | 改造点 |
| PostgreSQL 16 | none | doc_based | 未登记额外公开说明,按来源与验证步骤复核。 | 改造点 |
展开 15 个 unknown / undeclared 结论
| 达梦 DM8 | unknown | unverified | 当前事实源不足,不推断兼容。 |
| GBase 8s | unknown | unverified | 当前事实源不足,不推断兼容。 |
| GoldenDB V6 | unknown | unverified | 当前事实源不足,不推断兼容。 |
| 瀚高 HGDB 4.5 | unknown | unverified | 当前事实源不足,不推断兼容。 |
| 人大金仓 KingbaseES V8 | unknown | unverified | 当前事实源不足,不推断兼容。 |
| OceanBase 4.2.5 MySQL 模式 | unknown | unverified | 当前事实源不足,不推断兼容。 |
| OceanBase 4.2.5 Oracle 模式 | unknown | unverified | 当前事实源不足,不推断兼容。 |
| OceanBase 4.3.5 MySQL 模式 | unknown | unverified | 当前事实源不足,不推断兼容。 |
| OceanBase 4.3.5 Oracle 模式 | unknown | unverified | 当前事实源不足,不推断兼容。 |
| openGauss 6.0 B 模式(Dolphin) | unknown | unverified | 当前事实源不足,不推断兼容。 |
| 磐维 PanWeiDB 2.0 | unknown | unverified | 当前事实源不足,不推断兼容。 |
| PolarDB(Oracle 兼容)2.0 | unknown | unverified | 当前事实源不足,不推断兼容。 |
| 神通数据库 7 | unknown | unverified | 当前事实源不足,不推断兼容。 |
| TDSQL Boundless | unknown | unverified | 当前事实源不足,不推断兼容。 |
| TiDB 8.5 | unknown | unverified | 当前事实源不足,不推断兼容。 |
改造与验证路径
推荐方向
db_side · 聚合形态先在原分组内按 KEEP 的 ORDER BY 计算 DENSE_RANK,FIRST 取 rank=1、LAST 反向排名取 rank=1,再对全部并列行执行原 MIN/MAX/SUM/AVG/COUNT/VARIANCE/STDDEV;analytic OVER 形态在窗口分区内排名后用窗口条件聚合,保留每个输入行,禁止外层 GROUP BY 改变行数
库侧
聚合形态用 dense_rank 子查询后按原分组键聚合;analytic OVER 用窗口条件聚合回填到每个输入行 · 风险 review
应用侧
应用 SQL 按形态生成排名子查询和聚合/窗口聚合,禁止用 ROW_NUMBER 只取一行 · 风险 review
验收步骤
覆盖聚合形态与 analytic OVER、全部七种合法聚合、FIRST/LAST、升降序、NULLS FIRST/LAST 和多个并列值;逐组比对聚合结果,并断言窗口形态保留每个输入行
公开来源
- https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/FIRST.html
- https://www.panwei.tech/api/admin-api/biz/download-center/get?id=213
- https://www.panwei.tech/api/admin-api/infra/file/29/get/20260128/%E7%A3%90%E7%BB%B4%E6%95%B0%E6%8D%AE%E5%BA%93_V2.0-S3.0.1_B01_Oracle%E5%85%BC%E5%AE%B9%E6%80%A7%E6%89%8B%E5%86%8C_1769566977199.pdf