Може да ги користите основните SQL прашања за добивање податоци од базата на податоци, но ова често не обезбедува доволно разузнавачки информации за да ги задоволи деловните барања. SQL, исто така, ви дава можност да ги групирате резултатите од барањето врз основа на атрибутите на ниво на ред, со цел да се применат агрегирани функции со клаузулата GROUP BY. Размислете, на пример, табела со податоци за нарачки што се состои од атрибутите подолу:
- OrderID - нумеричка вредност која уникатно ја идентификува секоја нарачка. Ова поле е примарниот клуч за базата на податоци.
- Продавач - текстуална вредност која го дава името на продавачот кој ги продал производите. Ова поле е странски клуч за друга табела која содржи информации за персоналот.
- CustomerID - нумеричка вредност која одговара на бројот на корисничка сметка. Ова поле е исто така странски клуч, што се однесува на табела која содржи информации за корисничка сметка.
- Приходи - нумерички вредност што одговара на вредноста на доларот на продажбата.
Кога е време да се спроведат ревизии на перформанси за продавачите, табелата на налози содржи вредни информации кои може да се користат за тој преглед. Кога го оценувате Џим, можете, на пример, да напишете едноставно пребарување кое ќе ги преземе сите продажби на Џим:
Избери * ОД нарачки КАДЕ Продавач како "Џим"Ова ќе ги добие сите записи од базата на податоци што одговара на продажбата направена од Џим:
OrderID Продавачот CustomerID приходи 12482 Jim 182 40000 12488 Џим 219 25000 12519 Џим 137 85000 12602 Џим 182 10000 12741 Џим 155 90000 Можете да ги разгледате овие информации и да направите некои рачни пресметки за да дојдете до статистички податоци за перформансите, но ова ќе биде мачна задача што ќе треба да ја повторите за секој продавач во компанијата. Наместо тоа, можете да ја замените оваа работа со едно пребарување по GROUP BY што пресметува статистики за секој продавач во компанијата. Вие само го напишете барањето и наведете дека базата на податоци треба да ги групира резултатите врз основа на полето Продавач. Потоа можете да користите некоја од SQL агрегатните функции за да извршите пресметки за резултатите.
Еве еден пример. Ако ја извршите следната SQL изјава:
Ќе ги добиете следните резултати:
Продавач Вкупно Најмалиот Најголем Просечен Број Џим 250000 10000 90000 50000 5 Марија 342000 24000 102000 57000 6 Боб 118000 4000 36000 39333 3Како што можете да видите, оваа моќна функција ви овозможува да генерирате мали извештаи од рамките на барањето SQL, обезбедувајќи вредна деловна интелигенција на менаџерот кој ги спроведува оценките за перформансите. Клаузулата GROUP BY често се користи во бази на податоци за оваа намена и е важна алатка во торбата на трикови на DBA.