SQL 中的窗口功能是强大的工具,可以跨组表格行进行复杂的数据分析和计算,它们使用户能够执行运行总量,排名,移动平均值等操作,而不需要子表或临时表格.

理解窗口函数

窗口函数运行在与当前行相关的指定行范围上, 由 Over() 条款定义。 这样可以进行计算, 考虑数据分区内的多个行, 使分析更加有效和可读性更高 。

窗口函数的常见类型

  • RANK()和DENSE RANK(): 分配排行到分区内.
  • ROW NUMBER(:]]为每行提供独特的顺序编号.
  • LEAD()和LAG():从后续或以前的行访问数据.
  • SUM(, AVG(), MIN(), MAX():] 用于运行总计和平均值的窗口函数的集合函数.

实用应用

窗口功能被用于各种情景,如计算运行总量、建立排名和分析长期趋势。 这些功能在财务报告、销售分析和业绩衡量标准中尤其有用。

示例:计算运行总计

以下SQL查询显示如何计算每件产品的销售总量: