SQL дозволяє групувати результати запиту на основі двох чи більшої кількості стовпчиків.
Наприклад, потрібно згрупувати замовлення по працівникам та клієнтам.
Нехай
| Zamovlennia
|
| Pracivnyk
| Klient
| Kilkist
| .....
|
| ...........
| .............
| .............
| ...........
|
Тоді, запит:
21). Обчислити загальну кількість замовлень по кожному клієнту для кожного працівника:
21). SELECT Pracivnyk,
Klient,
SUM (Kilkist)
FROM Zamovlennia
GROUP BY Pracivnyk,
Klient
Навіть при групуванні по двом стовпчикам SQL забезпечує лише один рівень групування.
Запит 21) генерує лише один підсумковий рядок для кожної пари працівник – клієнт.
За допомогою SQL неможливо створити групи і підгрупи з двома ( чи більшою кількістю) рівнями підсумкових результатів.
Найкраще, що можна зробити – це відсортувати дані таким чином, щоб рядки в таблиці результатів запиту розміщувалися в потрібному порядку.
В багатьох СУБД при використанні GROUP BY сортування виконується автоматично, але автоматичний порядок сортування можна поміняти за допомогою секції ORDER BY:
22). Підрахувати загальну кількість замовлень по кожному клієнту для кожного працівника, відсортувати результати запиту по клієнтам і працівникам:
22). SELECT Klient,
Pracivnyk,
SUM (Kilkist)
FROM Zamovlennia
GROUP BY Klient,
Pracivnyk
ORDER BY Klient,