Ad-blocking extension has been detected. Please disable it. It may cause problems.

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.

Course

AdvancedLearn how to use analytic SQL functions to deeply understand data.

Lifetime access

limited to this course only

$29

Want a better deal?

Get **unlimited lifetime access** to all 41 present and future courses

Save $420

Unlimited lifetime access

to all 41 present and future courses

$ 179

$ 599

70% OFF

218

Interactive exercises

20 h

Estimated time

3589

Users enrolled

☆☆☆☆☆

★★★★★

24 ratings

SQL window functions – also known as windowing functions, OVER functions, or analytic functions – are tremendously useful. These functions make building complex aggregations much simpler. In this step-by-step tutorial, we will lead you through SQL window functions. At its end, you'll embrace this topic with ease and feel comfortable using window functions in SQL databases.

Window functions are so powerful that they serve as a dividing point in time: people talk about SQL before window functions and SQL after window functions. Because they were introduced into the standard relatively recently, these functions aren't covered in many SQL courses.

Note: Most popular database engines support window functions; MySQL is the only one that does not.

This course covers the syntax and semantics of SQL window functions. It shows how powerful they are, what the typical use cases are, and how to use ORDER BY and PARTITION BY to set up a frame for window functions. You'll also learn the difference between ROWS and RANGE clauses.

This course is intended for intermediate users. We assume the user knows the basics of SQL, including:

- How to select from a single table, including writing complex WHERE conditions
- How to JOIN tables
- How GROUP BY and HAVING work

- A web browser
- Knowledge of basic SQL, including JOINs and GROUP BY clauses

- Compute running totals and running averages
- Build rankings
- Find best and worst performers
- Investigate trends across time
- Calculate contributions to the whole, such as commission percentages

You'll also get a deeper understanding of SQL aggregate functions.

- Beginning database analysts
- Developers who want to keep their knowledge of SQL current
- Students taking classes in relational databases
- Anyone who wants to learn SQL window functions

Free

Paid content

0%

Course progress

0/218

Exercises completed

1.

Window functions? We'll explain what it's all about.

2.

Your first encounter with window functions.

Get to know tables

Computations with OVER()

Aggregate functions with OVER()

OVER() and WHERE

Summary

3.

Discover how you can define the function window with PARTITION BY

Introduction

PARTITION BY

4.

Learn how you can rank rows with window functions.

Introduction

Ranking functions

Selecting n-th row

5.

Get to know how to create sophisticated window frames for your window functions.

ROWS

RANGE

Default window frame

6.

Learn the most essential analytic functions.

Introduction

LEAD and LAG

FIRST_VALUE, LAST_VALUE, NTH_VALUE

7.

Create advanced statistics computed independently for various groups of rows.

Introduction

Quick refresher

PARTITION BY ORDER BY with ranking

PARTITION BY ORDER BY with window frames

PARTITION BY ORDER BY with analytical functions

8.

Do you know when window functions are evaluated in a SQL query? Let's find out.

When window functions are evaluated

Window functions and GROUP BY

9.

Master all the skills you acquired so far in our big practice part.

Introduction

Simple OVER()

PARTITION BY

Ranking functions

Window frame

Analytic functions

ORDER BY PARTITION BY

Order of evaluation

Summary

10.

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

Introduction

Final quiz

Summary

Average rating

4.95 / 5

☆☆☆☆☆

★★★★★

24 ratings

Details

5 stars

96%

4 stars

4%

3 stars

0%

2 stars

0%

1 stars

0%