What does SQL clause "GROUP BY 1" mean?

Spencer picture Spencer · Sep 12, 2011 · Viewed 103.2k times · Source

Someone sent me a SQL query where the GROUP BY clause consisted of the statement: GROUP BY 1.

This must be a typo right? No column is given the alias 1. What could this mean? Am I right to assume that this must be a typo?

Answer

Yuck picture Yuck · Sep 12, 2011

It means to group by the first column regardless of what it's called. You can do the same with ORDER BY.