Our website uses cookies. By using this website, you agree to their use in accordance with the browser settings. You can modify your browser settings on your own. For more information see our Privacy Policy.



Window Functions in PostgreSQL

A window function is an advanced SQL concept that enables you to maximize efficiency and minimize the complexity of queries that analyze partitions (windows), subgroups or sections of a data set. In this online course, you'll learn how to build complex aggregations with PostgreSQL window functions: OVER, RANK, PARTITION BY. Note: This is the only online course on PostgreSQL window functions you can find on the Internet.

Table of contents

10 free interactive coding challenges

Lifetime access


limited to this course only


Buy now

Want a better deal?


Get unlimited lifetime access to all 63 present and future courses

Save $450

Unlimited lifetime access


to all 63 present and future courses



75% OFF

Buy now

Interactive exercises

20 h

Estimated time


Users enrolled


796 ratings

This online course will be of interest to database analysts, students, developers, and more. The prerequisite for the course is knowing the basics of SQL. Scroll down for more details.

Window functions (also known as analytic functions or OVER functions) are a very useful tool, especially when it comes to data aggregation. PostgreSQL's documentation describes the concept of window functions rather well:

A window function performs a calculation across a set of table rows that are somehow related to the current row. This is comparable to the type of calculation that can be done with an aggregate function. But unlike regular aggregate functions, the use of a window function does not cause rows to become grouped into a single output row – the rows retain their separate identities. Behind the scenes, the window function is able to access more than just the current row of the query result.

These functions were introduced into the standard relatively recently, and that's why there are not many online courses that cover this concept. Fortunately, this course does!

This online course covers the syntax and semantics of PostgreSQL window functions and showcases how tremendously powerful they are. After you complete the course, you'll know the typical use cases of window functions, how to use OVER, ORDER BY and PARTITION BY to structure a frame, and the difference between ROWS and RANGE clauses.

RANGE OVER PostgreSQL window functions and crack complex aggregations today!

What's in It for Me?

  • 218 interactive exercises. Learn at your own pace, from anywhere and anytime. Interact with hands-on exercises for improved retention.
  • Lifetime access to the course. When you purchase the course, you'll get instant personal access to all of its content.
  • Online certification. Complete all of the exercises successfully and you'll get a certificate. You can publish the certificate on your LinkedIn profile (here's how.)
  • 30-day money-back guarantee. If you're not satisfied with the quality of the course, you can get a refund within 30 days of your purchase.
  • Hints for the exercises. You can make use of ready-made hints for exercises, or ask questions and share insights with other members of our community through the Discuss tab.

What Are the Requirements?

  • Web browser
  • Internet connection
  • Knowledge of basic SQL provided in our SQL Basics in PostgreSQL course (or equivalent)

Learn How to:

  • Define the function window with PostgreSQL PARTITION BY.
  • RANK rows with window functions.
  • Create sophisticated window frames for your window functions.
  • Use the most essential analytic functions: LEAD, LAG, VALUE.
  • Create advanced statistics computed independently for various groups of rows.
  • Master all the skills you acquired in our extensive practice section.
  • Deeply understand PostgreSQL aggregate functions.

Who Should Take This Course?

  • PostgreSQL users who want to advance their querying skills
  • Developers who want to refresh what they already know
  • Beginner database analysts working with PostgreSQL
  • Students taking classes in relational databases
  • Anyone who wants to improve the use of PostgreSQL window functions

Table of contents


Paid content


Course progress


Exercises completed


Final Quiz

Test the skills you acquired in the whole course with this final quiz.


Reviews (31)

Average rating



796 ratings


5 stars


4 stars


3 stars


2 stars


1 stars