sql >> Databáze >  >> RDS >> Sqlserver

Je možné použít funkci Aggregate ve výpisu Select bez použití klauzule Seskupit podle?

Všechny sloupce v klauzuli SELECT, které nemají agregaci, musí být v GROUP BY

Dobře:

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

Také dobré:

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

Žádné další sloupce =není potřeba GROUP BY

SELECT MAX(col4)
...

Nefunguje:

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

Zbytečné:

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

Mít agregaci (MAX atd.) s jinými sloupci bez GROUP BY nedává smysl, protože dotaz se stává nejednoznačným.



  1. Python 'int32' nelze převést na typ MySQL

  2. Python:MySQL:Zpracování časových limitů

  3. Analyzujte klauzuli SELECT dotazů SQL do pole PHP

  4. MySQL Create Table jako SELECT