De kolonner, som du nogensinde har tilføjet i SELECT-udtrykket uden en aggregatfunktion, skal være i GROUP BY-udtrykket.
For at gøre det lidt klart:
Tag dette eksempel:
Du har TransactionID, AccountID, TransactionAmount, TransactionDate i din SELECT-klausul, og du skal bruge SUM(TransactionAmount) på alle datoer, i så fald, hvis du tilføjer
SELECT TransactionDate, TransactionID, AccountID, SUM(TransactionAmount)
FROM Table
GROUP BY TransactionDate
Så vil du få en fejl, hvorfor fordi
Antag, at du har 4 transaktioner i 20160101, og hver transaktionsbeløb er $1000
Din resultatforventning vil være
TransDate TransAmt
20140101 4000
I dette tilfælde, hvis du bringer andre attributter i SELECT-klausulen som AccountID og TransactionID, hvor vil de så gå hen? Det er derfor, vi er nødt til at inkludere alle attributterne i GROUP-klausulen hvad som helst i SELECT-klausulen undtagen den, der er med AGGREGATE-funktionen.