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)
| column | type |
|---|---|
diary_id | BIGINT |
duck_id | BIGINT |
entry_date | DATE |
diary_text | VARCHAR |
mood | VARCHAR |
duck_surveys (5000 rows)
| column | type |
|---|---|
survey_id | BIGINT |
duck_id | BIGINT |
age | BIGINT |
favorite_food | VARCHAR |
favorite_pond | BIGINT |
swimming_rating | BIGINT |
migration_preference | VARCHAR |
social_behavior | VARCHAR |
health_status | VARCHAR |
activity_level | VARCHAR |
survey_date | DATE |
survey_location | BIGINT |
ducks (15 rows)
| column | type |
|---|---|
id | BIGINT |
name | VARCHAR |
age | BIGINT |
species | VARCHAR |
birth_date | DATE |
arrival_date | DATE |
ponds (3 rows)
| column | type |
|---|---|
pond_id | BIGINT |
pond_name | VARCHAR |
location_lat | DOUBLE |
location_lng | DOUBLE |
capacity | BIGINT |
features | VARCHAR[] |
amenities | VARCHAR[] |
Files
data/daily_distances.csv (20 rows)
| column | type |
|---|---|
duck_id | BIGINT |
date | DATE |
distance | DOUBLE |
activity_type | VARCHAR |
Database: https://dbquacks.com/data/databases/tutorial.duckdb
This page as markdown: https://dbquacks.com/tutorial/26.md