Добавянето на клаузата GROUP BY е много ефективно в повечето случаи
- Грешка в агрегатната функция в SQL възниква, когато се опитате да използвате агрегатна функция по начин, който не се поддържа от езика SQL.
- Може да срещнете грешката, ако не групирате данните по колоната, за която използвате агрегатната функция.
хИНСТАЛИРАЙТЕ, КАТО КЛИКНЕТЕ ВЪРХУ ИЗТЕГЛЯНЕ НА ФАЙЛА
- Изтеглете Fortect и го инсталирайте на вашия компютър.
- Стартирайте процеса на сканиране на инструмента за да търсите повредени файлове, които са източникът на вашия проблем.
- Щракнете с десния бутон върху Старт на ремонта така че инструментът да може да стартира алгоритъма за фиксиране.
- Fortect е изтеглен от 0 читатели този месец.
Писането на SQL скриптове може да е забавно, докато не срещнете бъгове и грешки във вашия код. А няколко от нашите читатели са се оплакали от съобщението за грешка вашата заявка не включва посочения израз като част от агрегатна функция.
Агрегатната функция може да е трудна, но ще я разрешим в това ръководство. Въпреки това можете да разгледате нашето друго ръководство, ако желаете Неуспешно изпълнение на заявка на SQL Server за набор от данни.
Защо получавам грешката, че вашата заявка не включва посочения израз като част от агрегатна функция?
Някое от следните може да е причината да получите грешката:
- Използвате израз, който не е агрегатна функция.
- Машината на базата данни не може да групира редовете, защото не е в клаузата GROUP BY.
- Поставяте израза в клаузата GROUP BY, но вашата колона не е под клаузата SELECT.
Трябва да се консултирате с другото ни ръководство, ако имате затруднено влизане в Microsoft SQL Server.
Как да поправя заявката ви да не включва посочения израз като част от агрегатна функция?
Използвайте клаузата GROUP BY и агрегатната функция
- Определете ИЗБЕРЕТЕ изявление с помощта на скрипта по-долу.
ИЗБЕРЕТЕ
държава,
ОТ
клиенти
- Добавете агрегатната функция, като използвате скрипта по-долу (трябва да го адаптирате към вашите специфични нужди).
COUNT(customer_id) КАТО брой_клиенти
- Добавете ГРУПИРАЙ ПО клауза. В скрипта по-долу искаме да преброим броя на клиентите във всяка държава в таблица. Използвайки GROUP BY, базата данни ще преброи и ще върне правилната цифра.
ГРУПИРАЙ ПО
държава; - Стартирайте скрипта и се уверете, че коригира вашата заявка, която не включва посочения израз като част от агрегатна функция.
Чрез групиране на редовете преди прилагане на агрегатните функции, клаузата GROUP BY позволява на механизма на базата данни да разбере как да комбинира записите и да достави правилните резултати.
Кои са 5-те агрегатни функции в SQL?
В SQL можете да използвате някоя от следните агрегатни функции:
- БРОЯ()
- SUM()
- AVG()
- MIN()
- MAX()
Въпреки това, когато използвате някоя от горепосочените агрегатни функции, запомнете следните допълнителни съображения:
- Можете да използвате агрегатни функции само в колони с числови данни.
- В колони, които са част от клауза GROUP BY, агрегатните функции няма да работят.
- Колона, която също е част от списъка SELECT, ще се появи в резултатите като единична стойност, ако приложите агрегатна функция към нея.
- Поправка: Тази стойност не съответства на валидирането на данните
- Какво е MMSSHost.exe и как да коригирате високата му употреба на памет?
- Нанесеното мрежово устройство не може да бъде създадено [Коригиране на грешка]
Ето го. Сега трябва да разберете защо сте получили грешката и като адаптирате нашите решения, трябва да имате успех.
Може да се интересувате и от другите ни ръководства, като поправяне на повредена база данни в SQL serverlet.
Кажете ни, ако намирате това ръководство за полезно в секцията за коментари по-долу. Освен това, ако имате други начини за коригиране на грешката, ще се радваме да чуем от вас.
Все още имате проблеми?
СПОНСОРИРАНА
Ако горните предложения не са разрешили проблема ви, компютърът ви може да има по-сериозни проблеми с Windows. Предлагаме да изберете решение "всичко в едно" като Фортект за ефективно отстраняване на проблемите. След инсталирането просто щракнете върху Преглед и коригиране и след това натиснете Старт на ремонта.