The following query is valid:
It returns 1. Can someone see why?
GROUP BY nothing
The following group by clause is valid:
GROUP BY ()
It groups by “nothing”. A query with such a GROUP BY clause will only compile if it only contains aggregate expressions. As a result, there barely is a point in using it, except maybe if you dynamically build your SQL.
OVER the whole set
If you need aggregates over a complete set, you can use one of the following OVER clauses:
OVER (PARTITION BY 1)
ALL and ANY
ALL and ANY cannot be used on the left-hand side of a scalar comparison.
This query is valid:
1 = ALL( SELECT 1)
This query is not :
ALL( SELECT 1) = 1