Intersect 和 Minus/Except

MySQL只支持Union,而HybridDB for MySQL扩展兼容了Oracle的Intersect和Minus/Except语法,详细请参见查询语法

Full outer join

MySQL不支持Full outer join,而HybridDB for MySQL扩展兼容了full outer join,详细请参见查询语法

CTE (with)

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

Rollup/Cube

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

Rollup和Cube支持:

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

开窗函数

HybridDB for MySQL扩展支持了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 }

OVER函数内支持的排名函数:

  • RANK
  • DENSE_RANK
  • ROW_NUMBER

OVER函数内支持的聚合函数:

  • AVG
  • COUNT
  • SUM
  • MAX
  • MIN