Изучаем sql



Pdf көрінісі
бет136/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   132   133   134   135   136   137   138   139   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )

Принципы группировки
Иногда необходимо выявить в данных некоторые тенденции, что по
требует от сервера некоторой подготовки данных, прежде чем можно
будет получить искомые результаты. Например, вы отвечаете за опе
рации в банке и хотели бы выяснить, сколько счетов открывает каж
дый операционист банка. Можно было бы создать простой запрос для
просмотра необработанных данных:
mysql> 
SELECT open_emp_id
> FROM account;
++
| open_emp_id |
++
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |


154
Глава 8. Группировка и агрегаты
| 10 |
| 10 |
| 10 |
| 10 |
| 10 |
| 10 |
| 10 |
| 13 |
| 13 |
| 13 |
| 16 |
| 16 |
| 16 |
| 16 |
| 16 |
| 16 |
++
24 rows in set (0.01 sec)
В таблице 
account
всего 24 строки, поэтому относительно просто уви
деть, что счета открывались четырьмя сотрудниками и что сотрудник
с ID 16 открыл шесть счетов. Но для банка с десятками сотрудников
и тысячами открываемых счетов этот подход оказался бы очень уто
мительным и подверженным ошибкам.
Вместо этого можно с помощью блока 
group
by
(группировать по) попро
сить сервер БД сгруппировать данные. Вот тот же запрос, но с примене
нием блока 
group
by
для группировки данных о счетах по ID сотрудника:
mysql> 
SELECT open_emp_id
> FROM account
> GROUP BY open_emp_id;
++
| open_emp_id |
++
| 1 |
| 10 |
| 13 |
| 16 |
++
4 rows in set (0.00 sec)
Результирующий набор содержит по одной строке для каждого от
дельного значения столбца 
open_emp_id
, что в результате дает четыре,
а не 24 строки. Этот результирующий набор получился меньшим, по
тому что каждый из четырех сотрудников открыл больше одного сче
та. Чтобы увидеть, сколько счетов открыл каждый сотрудник, в блоке
select
можно подсчитать количество строк в каждой группе с помо
щью 
агрегатной функции
(
aggregate function
):
mysql> 


Достарыңызбен бөлісу:
1   ...   132   133   134   135   136   137   138   139   ...   261




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет