Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

FROM Vidpusk V, Tovary T

WHERE V. Tovar. = T. Nazva

(результат буде той самий, що і результат прикладу №6).


Лекція №13. Групування записів. Секція GROUP BY.

Секція ORDER BY– визначення порядку сортування

Результуючий набір даних можна відсортувати за допомогою секції

       
 
 
   

 

 

 

 


ASC (по замовчуванню) – сортування в порядку зростання значень поля.

DESC – сортування в порядку спадання значень поля.

- це остання секція в операторі SELECT (записується після секції WHERE).

Правила виконання запитів на вибіркудоповнюються дією:

5. Якщо є секція ORDER BY, то результуюча таблиця сортується по значенням стовпчиків, вказаних в списку полів секції ORDER BY: спочатку - по значенням стовпчика, вказаного першим в списку полів; потім – другий у списку полів стовпчик – він використовується для сортування в межах групи, яка визначається тими самими значеннями першого стовпчика і т.д.

Приклад: (відсортувати результат 7, по прізвищах покупців).

8). SELECT V.*, T. Cina

FROM Vidpusk V, Tovary T

WHERE V. Tovar = T. Nazva

ORDER BY V.Pokupets

8)
V. № V.Data V. Kilkist V. Tovar V. Pokupets T. Cina
  3.09.   дріжджі Герило 3.60
  2.09.   цукор Журавель 2.60

 

Результуюча таблиця відсортована по значенню цього поля.

Групування записів

 

Інколи потрібно отримати агрегатні значення (мінімум, максимум, середнє арифметичне тощо) не по всьому результуючому НД, а лише по кожній із груп записів, що входять в цей результуючий НД. Кожна група записів характеризується однаковим значенням якогось стовпчика.

Наприклад, задача:

вивести загальну кількість відпущеного товару по кожному товару.

- потрібно обчислювати суму кількостей відпуску товарів і групувати по назві товару.

Для цього в оператор SELECT після секції WHERE добавляється секція GROUP BY (якщо є секція ORDER BY, то секція GROUP BY записується після секції WHERE, але перед секція ORDER BY)

 

 
 

 


Якщо є секція GROUP BY, то обов’язково потрібно, щоб один із стовпчиків результуючої таблиці представлявся агрегатною функцією!

- тобто, щоб в секцію SELECT входив вираз, що містить агрегатну функцію.

Групування відбувається по не - агрегатним полям, отже для групування (тобто, для обчислення агрегатної функції не по всім рядкам таблиці, а лише по групам) – потрібно, щоб у секцію SELECT входило, по крайній мірі, одне не - агрегатне поле (групування здійснюється по одиноким значенням у цьому не - агрегатному стовпчику).

Всі не - агрегатні поля секції SELECT повинні бути вказані в секції GROUP BY!

синтаксична діаграма оператора SELECT:

                   
   
 
   
 
   
 
   
 
 

 

 

 


ASC – в порядку зростання (по замовчуванню)

DESC – в порядку спадання.

 

Це лише та частина, яку ми вже вивчили. Повна синтаксична діаграма – приблизно вдвічі громіздкіша.

Приклади:

# Вивести загальну кількість відпусків по кожному із товарів:

19). SELECT V. Tovar, SUM (V. Kilkist) AS Vidp

<== предыдущая лекция | следующая лекция ==>
FROM Vidpusk, Tovary | GROUP BY V. Tovar
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 306; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.