我下面有以下列。我不太熟悉 OVER 函数。问题是,列usage_change_mb是每日变化(来自每日快照)还是所有正在评估的快照的平均变化?
这是专栏:
( LAST_VALUE ( reservedpages ) OVER ( PARTITION BY instance_name, database_name ORDER BY instance_name ASC, database_name ASC, snapshot_time ASC ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING )
- /* subtract */
FIRST_VALUE ( reservedpages ) OVER ( PARTITION BY instance_name, database_name ORDER BY instance_name ASC, database_name ASC, snapshot_time ASC ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) ) * 8 / 1048576.0
AS usage_change_mb
这是每天的变化,如果每天拍摄快照(snapshot_time 列是我假设您获取快照时间数据的地方)。
每次找到 PARTITION BY 中指定的列(或列组合)的唯一值时,分区都会重新开始计算。即使您正在排序(ORDER BY 实例、数据库、快照),如果没有 OVER() 之前的聚合函数,您也不会以任何方式跨分区聚合数据。