This document introduces windowing functions in Firebird 3. It explains that windowing functions allow calculations across sets of rows and provide access to values from related rows in the same table. It describes the syntax of window functions in Firebird and how they use windows to define partitions of rows and sort orders. Examples show how aggregate functions can be used as window functions to calculate moving and cumulative aggregates over window partitions.