Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Gt; FROM account

Часовые пояса | Строковые представления временных данных | Загрузка данных часового пояса MySQL | Преобразования строки в дату | Функции для создания дат | Временные функции, возвращающие даты | Временные функции, возвращающие строки | Временные функции, возвращающие числа | Функции преобразования | Упражнения |


Читайте также:
  1. Answer the following questions using your own words but taking into account the
  2. FROM account
  3. Gt; FROM account
  4. Gt; FROM account
  5. Gt; FROM account
  6. Gt; FROM account

 

Принципы группировки  
   
_> GROUP BY open_emp_id;  
+_____________+__________+  

 

| open_emp_id | how_many | +_____________+__________+

 

|   |   |
|   |   |
|   |   |
|   |   |

 

+_____________+__________+ 4 rows in set (0.00 sec)

 

Агрегатная функция count() подсчитывает количество строк в каждой группе, а звездочка предписывает серверу сосчитать все строки в груп_ пе. Сочетание блока group by и функции обобщения count() позволяет формировать именно те данные, которые требуются для ответа на при_ кладной вопрос, без необходимости просматривать необработанные данные.

 

При группировке может понадобиться отфильтровать из результирую_ щего набора ненужные данные, опираясь на информацию групп дан_ ных, а не необработанных данных. Блок group by выполняется после вычисления блока where, поэтому условия фильтрации нельзя добав_ лять в блок where. Вот, например, попытка отфильтровать всех сотруд_ ников, открывших меньше пяти счетов:

 

mysql> SELECT open_emp_id, COUNT(*) how_many
_> FROM account
_> WHERE COUNT(*) > 4
_> GROUP BY open_emp_id, product_cd;

 

ERROR 1111 (HY000): Invalid use of group function

 

Агрегатную функцию count(*) нельзя использовать в блоке where, по_ тому что на момент вычисления блока where группы еще не сформиро_ ваны. Вместо этого можно поместить условия фильтрации группы в блок having. Вот пример того же запроса с блоком having:

 

mysql> SELECT open_emp_id, COUNT(*) how_many


Дата добавления: 2015-08-17; просмотров: 50 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Принципы группировки| Агрегатные функции

mybiblioteka.su - 2015-2024 год. (0.007 сек.)