lesson 1 of 4 · select, filter, aggregate: the feature query shapeselect, filter, aggregate: the analysis query shapelesson 1 of 4 · select, filter, aggregate: the feature query shapeselect, filter, aggregate: the analysis query shapelesson 1 of 4 · select, filter, aggregate: the feature query shapeselect, filter, aggregate: the analysis query shapelesson 1 of 4 · select, filter, aggregate: the feature query shapeselect, filter, aggregate: the analysis query shapelesson 1 of 4 · select, filter, aggregate: the feature query shapeselect, filter, aggregate: the analysis query shapelesson 1 of 4 · select, filter, aggregate: the feature query shapeselect, filter, aggregate: the analysis query shapelesson 1 of 4 · select, filter, aggregate: the feature query shapeselect, filter, aggregate: the analysis query shapelesson 1 of 4 · select, filter, aggregate: the feature query shapeselect, filter, aggregate: the analysis query shapelesson 1 of 4 · select, filter, aggregate: the feature query shapeselect, filter, aggregate: the analysis query shapelesson 1 of 4 · select, filter, aggregate: the feature query shapeselect, filter, aggregate: the analysis query shapelesson 1 of 4 · select, filter, aggregate: the feature query shapeselect, filter, aggregate: the analysis query shape
Checkpoint
One last thing before we move on. pass this to mark the lesson done, or skip and keep moving. hop to the next when you're ready.
Checkpoint. Write big_spenders(db, region, floor): users in the given region whose total exceeds floor, as (user, total) sorted by total descending — the full WHERE→GROUP BY→HAVING→ORDER BY shape with parameters (use ? placeholders, never f-strings).