1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| 1. ROW_NUMBER 生成唯一序号 select column1,column2, ROW_NUMBER() over (order by column2) as row from tablename;
2. RANK 与 DENSE_RANK 排名 select column1,column2, ANK() over (order by column2 desc) as rank, DENSE_RANK() over (order by column2 desc) as dense_rank from tablename;
3. 累计百分比计算 select column1,column2, SUM(column2) over (order by column1) / SUM(column2) over() as cumulative_percent from tablename;
4. 移动平均(最近三个窗口) select column1, column2, avg(column2) over (order by column1 ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) as moving_avg from tablename;
5. 分组内前n名 select * from ( select column1, column2, column3, ROW_NUMBER() over (PARTITION BY column1 ORDER BY column2 DESC) as rn from tablename ) where rn <=3;
|