动态窗口函数:first_value() / last_value()/nth_value()/聚合函数用于开窗
静态窗口函数:row_number() / rank() / dense_rank()/percent_rank() / cume_dist()/lag() /
lead()/ntile()
序号函数:row_number() / rank() / dense_rank()
分布函数:percent_rank() / cume_dist()
前后函数:lag() / lead()
头尾函数:first_value() / last_value()
其他函数:nth_value() / nfile()
dense_rank()并列并连续,如 1,1,2,3,3,4
rank() 并联不连续 如 1,1,3,4,4,6
当over中指定了分区,但是没有指定排序和滑动窗口范围时,默认计算当前分区内的所有记录
当over中指定了排序,但是没有指定滑动窗口范围时,默认计算当前分区内的第一行到当前行(排序字段)取值范围内的记录
当over中指定了滑动窗口范围时,计算指定范围内的所有记录
where子句中不能使用列别名
where子句中不能使用开窗函数,因为开窗函数本质上也是聚合函数
Select语句执行顺序
From—where—group by—having—select—order by—limit
表连接
左连接:匹配右表,完全保留左表
右连接:匹配左表,完全保留右表
内连接:保留左表右表共同部分
全连接:左连接结果和右连接结果合并
左反:左连接结果筛选出右表空值部分
右反:右连接结果筛选出左表空值部分
笛卡尔积连接:可以连接没有公共字段的表








暂无数据