Window Functions
Aggregate functions allow us to take many rows and convert those rows into one number. For example, the COUNT
function takes in the rows of a table and returns the number of rows. However, sometimes, we want to be able to calculate multiple rows but still, keep all the rows after following the calculation. For example, let's say you wanted to rank every user in order according to the time they became a customer, with the earliest customer being ranked 1, the second-earliest customer being ranked 2, and so on. You can get all the customers using the following query:
SELECT * FROM customers ORDER BY date_added;
You can order customers from the earliest to the most recent and there are several ways you can achieve it. Later in the chapter, you will learn how to assign numbers to ordered records by using the RANK
function. However, you can also use an aggregate
function to get the dates and order them that way:
SELECT...