3 ms·
> IMO, in an aggregated query, SQL ought to implicitly add all non-aggregated fields to the GROUP BY I have literally never, ever wanted this. Why in the world
by jimktrains2 7y ago
> IMO, in an aggregated query, SQL ought to implicitly add all non-aggregated fields to the GROUP BY
I have literally never, ever wanted this. Why in the world would you group by any field not appearing in an aggregate?
Also, the group by can specify cubes and rollups, more over you may not want to group by any field, but rather an expression.
- paulddraper 7y agoYou virtually always want this. SELECT count(*), favorite_color, favorite_song FROM person GROUP BY ... The "..." is of course favorite_color, favorite_song. Whether you want this or not, ANSI SQL requires that you group by at least these. You could group by more more fields, such as favorite_pet, though that would be somewhat odd since you are did not include it in the result set.
- jimktrains2 7y agoAh, you meant in the select, not the table. I guess I'm just much more in favour of being explicit, but I can understand the usefulness of what you said now that I fully understand it.