Колоните, които сте добавили в клаузата SELECT без агрегатна функция, трябва да бъдат в клаузата GROUP BY.
За да стане малко ясно:
Вземете този пример:
Имате TransactionID, AccountID, TransactionAmount, TransactionDate във вашата клауза SELECT и имате нужда от SUM(TransactionAmount) за всички дати, в този случай, ако добавите
SELECT TransactionDate, TransactionID, AccountID, SUM(TransactionAmount)
FROM Table
GROUP BY TransactionDate
След това ще получите грешка, защо, защото
Да приемем, че имате 4 транзакции на 20160101 и всяка транзакцияAmount е $1000
Вашето очакване за резултат ще бъде
TransDate TransAmt
20140101 4000
В този случай, ако въведете други атрибути в клаузата SELECT като AccountID и TransactionID, къде ще отидат те? Ето защо трябва да включим всички атрибути в клаузата GROUP каквото и да било в клаузата SELECT, с изключение на този, който е с функцията AGGREGATE.