sql >> Database teknologi >  >> RDS >> Sqlserver

Er det muligt at bruge Aggregate-funktionen i en Select-erklæring uden at bruge Group By-sætning?

Alle kolonner i SELECT-sætningen, der ikke har en aggregering, skal være i GROUP BY

Godt:

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

Også godt:

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

Ingen andre kolonner =ingen GROUP BY nødvendig

SELECT MAX(col4)
...

Virker ikke:

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

Meningsløst:

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

At have en aggregeret (MAX osv.) med andre kolonner uden en GROUP BY giver ingen mening, fordi forespørgslen bliver tvetydig.



  1. Kørsel af en mysql-forespørgsel fra phpmyadmin ændrede kun 1 post. Prøvede ssh men samme problem

  2. Sådan konverteres decimal til hexadecimal ved hjælp af TO_CHAR() i Oracle

  3. Oprettelse af en lagret procedure:indstilling af tegnsæt og sortering

  4. Ved at kombinere JSON_SEARCH og JSON_EXTRACT får jeg:Ugyldigt JSON-stiudtryk.