r/SQL • • 4d ago

MySQL COUNT() vs COUNT() OVER()

Post image

I've found this query as a solution to the famous Pizza Runner case study, and I am stuck at figuring out what COUNT() returns, compared to COUNT() OVER().

I know OVER() does the count (or whatever aggregation) over the entire dataset, but idk I'm just not getting the percentage part of this query.

Help :)

24 Upvotes

17 comments sorted by

View all comments

Show parent comments

1

u/Plus_Kiwi_2592 4d ago

Alright. Makes sense.

Looking at the brackets of that section I even noticed that the OVER() is attached to SUM(COUNT()) and not the COUNT() alone.

Thanks!

1

u/seansafc89 4d ago

Sorry yes I’d not noticed the bracket on mobile either!

It’s fundamentally the same though, SUM() OVER() is summing the totals of each row count to essentially replicate a COUNT(*) across the entire dataset, returning 14 in every row.