窗口函数
TiDB 中窗口函数的使用方法与 MySQL 8.0 基本一致,详情可参见 MySQL 窗口函数。由于窗口函数会使用一些保留关键字,可能导致原先可以正常执行的 SQL 语句在升级 TiDB 后无法被解析语法,此时可以将 tidb_enable_window_function
设置为 0
,该参数的默认值为 1
。
TiDB 支持的窗口函数如下所示:
函数名 | 功能描述 |
---|---|
CUME_DIST() | 返回一组值中的累积分布 |
DENSE_RANK() | 返回分区中当前行的排名,并且排名是连续的 |
FIRST_VALUE() | 当前窗口中第一行的表达式值 |
LAG() | 分区中当前行前面第N行的表达式值 |
LAST_VALUE() | 当前窗口中最后一行的表达式值 |
LEAD() | 分区中当前行后面第N行的表达式值 |
NTH_VALUE() | 当前窗口中第N行的表达式值 |
NTILE() | 将分区划分为N桶,为分区中的每一行分配桶号 |
PERCENT_RANK() | 返回分区中小于当前行的百分比 |
RANK() | 返回分区中当前行的排名,排名可能不连续 |
ROW_NUMBER() | 返回分区中当前行的编号 |
看完两件小事
如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:
- 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
- 关注公众号 「方志朋」,公众号后台回复「资源」 免费领取我精心整理的前端进阶资源教程