codecamp

Mycat2 Sql兼容性 窗口函数

v1.17提供

不涉及跨数据库的情况(即单表与全局表),Mycat的窗口函数使用方式与MySQL完全一致.
在涉及跨数据库的情况下,MycatWindow不能下推变成SQL,所以在Mycat2内进行计算汇总结果.

语法

function OVER ([[partition by column1] [order by column2] [RANGE|ROWS BETWEEN start AND end]])


function OVER partition by column1 order by column2 RANGE BETWEEN start AND end
function OVER partition by column1 order by column2 ROWS BETWEEN start AND end


COUNT(value [, value ]*) OVER 
COUNT(*) OVER 
AVG(numeric) OVER 
SUM(numeric) OVER
MAX(value) OVER
MIN(value) OVER
RANK() OVER 
DENSE_RANK() OVER
ROW_NUMBER() OVER 
FIRST_VALUE(value) OVER
LAST_VALUE(value) OVER 
LEAD(value, offset, default) OVER
LAG(value, offset, default) OVER 
NTILE(value) OVER

具体语义参考 https://dev.mysql.com/doc/refman/8.0/en/window-function-descriptions.html

Mycat2 Sql兼容性 数学函数
Mycat2 Sql兼容性 多语句
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }