5.5 Oracle语法支持

1. Intersect 和 Minus/Except

MySQL只支持 Union,而HybridDB扩展兼容了Oracle的Intersect和Minus/Except语法,详细请参考5.3节。

2. Full outer join

MySQL不支持Full outer join,而HybridDB扩展兼容了full outer join,详细请参考5.3节。

3. CTE (with)

MySQL不支持With语句构成的公共子表达式(CTE),而HybridDB则扩展支持了Oracle的CET功能,增加了计算的优化能力,详细请参考5.3节。

4. Rollup / Cube

MySQL仅支持 Rollup的简单写法, 而HybridDB则扩展支持了Rollup和Cube能力:

Rollup和Cube支持:

group by rollup(col1, col2)   ##等同于 MySQL group by col1, col2 with rollup
group by cube(col1, col2)

5. 开窗函数

HybridDB扩展支持了Oracle的开窗函数,大大提升用户分析数据聚合内分组、固定窗口、滑动窗口的分析能力。

语法定义:

function (expression) OVER (
[ PARTITION BY expr_list ]
[ ORDER BY order_list [ frame_clause ] ] )

expr_list为:

expression | column_name [, expr_list ]

order_list 为:

expression | column_name [ ASC | DESC ]
[, order_list ]

frame_clause 为:

ROWS
{ UNBOUNDED PRECEDING }
AND
{ UNBOUNDED FOLLOWING | CURRENT ROW }

function支持的排名函数:

  • RANK
  • DENSE_RANK
  • ROW_NUMBER

function支持的聚合函数:

  • AVG
  • COUNT
  • SUM
  • MAX
  • MIN

results matching ""

    No results matching ""