DB Quacks SQL Tutorial · Chapter 5

The Running Man: A SUM OVER Story

Marathon runner duck jogs up panting with a fitness tracker. Training for the Data Marathon! I need to track my daily progress - show each day with my total distance so far, like a growing bank balance. Focus on my personal journey!

Your task

Show daily distances for the duck with id 1 with a cumulative running total of distance over time using the 'data/daily_distances.csv' file. You will be calculating running totals using window functions.

Hint

Look for a window function that can sum values from the beginning of the partition up to the current row.

Expected result

A table showing daily distances for Quackers with cumulative running totals.

Tables

duck_diaries (10 rows)

columntype
diary_idBIGINT
duck_idBIGINT
entry_dateDATE
diary_textVARCHAR
moodVARCHAR

duck_surveys (5000 rows)

columntype
survey_idBIGINT
duck_idBIGINT
ageBIGINT
favorite_foodVARCHAR
favorite_pondBIGINT
swimming_ratingBIGINT
migration_preferenceVARCHAR
social_behaviorVARCHAR
health_statusVARCHAR
activity_levelVARCHAR
survey_dateDATE
survey_locationBIGINT

ducks (15 rows)

columntype
idBIGINT
nameVARCHAR
ageBIGINT
speciesVARCHAR
birth_dateDATE
arrival_dateDATE

ponds (3 rows)

columntype
pond_idBIGINT
pond_nameVARCHAR
location_latDOUBLE
location_lngDOUBLE
capacityBIGINT
featuresVARCHAR[]
amenitiesVARCHAR[]

Files

data/daily_distances.csv (20 rows)

columntype
duck_idBIGINT
dateDATE
distanceDOUBLE
activity_typeVARCHAR

Database: https://dbquacks.com/data/databases/tutorial.duckdb

This page as markdown: https://dbquacks.com/tutorial/26.md

Start level 26 →

DuckDB docs for this lesson