sql >> Database >  >> RDS >> Sqlserver

Is het mogelijk om de Aggregate-functie in een Select-instructie te gebruiken zonder de Group By-clausule te gebruiken?

Alle kolommen in de SELECT-component die geen aggregatie hebben, moeten in de GROUP BY

. staan

Goed:

SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2, col3

Ook goed:

SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2, col3, col5, col6

Geen andere kolommen =geen GROUP BY nodig

SELECT MAX(col4)
...

Werkt niet:

SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2

Zinloos:

SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2, col3, MAX(col4)

Het hebben van een aggregaat (MAX enz.) met andere kolommen zonder GROUP BY heeft geen zin omdat de zoekopdracht dubbelzinnig wordt.



  1. goede postgresql-client voor Windows?

  2. Hoe kan ik zien welke transactie een vergrendelingsstatus Wachten op tabelmetagegevens veroorzaakt?

  3. postgresql genereert een reeks zonder tussenruimte

  4. MySQL:gegroepeerde items tellen?