Читайте также: |
|
_> ORDER BY open_emp_id;
+____________+_____________+ | account_id | open_emp_id | +____________+_____________+
| | | | | | ||
| | | | | | ||
| | | | | | ||
| | | | | | ||
| | | | | | ||
| | | | | | ||
| | | | | | ||
| | | | | | ||
| | | | | | ||
| | | | | | ||
| | | | | | ||
| | | | | | ||
| | | | | | ||
| | | | | | ||
| | | | | | ||
| | | | | | ||
| | | | | | ||
| | | | | | ||
| | | | | | ||
| | | | | | ||
| | | | | | ||
| | | | | | ||
| | | | | | ||
| | | | | |
+____________+_____________+ 24 rows in set (0.00 sec)
Как видите, все множество счетов было открыто четырьмя разными сотрудниками (с ID = 1, 10, 13 и 16). Допустим, хочется подсчитать число открывших счета сотрудников – не вручную, а с помощью за_ проса. Если к столбцу open_emp_id применить функцию count(), увидим следующие результаты:
Агрегатные функции | |
mysql> SELECT COUNT(open_emp_id)
_> FROM account;
+____________________+ | COUNT(open_emp_id) | +____________________+
| | 24 | |
+____________________+ 1 row in set (0.00 sec)
В этом случае столбец open_emp_id задан как столбец, который должен быть пересчитан. При этом полученный результат ничем не отличает_ ся от результата выполнения функции count(*). Если требуется под_ считать уникальные значения в группе, а не просто пересчитать число строк в ней, нужно указать ключевое слово distinct:
mysql> SELECT COUNT(DISTINCT open_emp_id)
_> FROM account;
+_____________________________+ | COUNT(DISTINCT open_emp_id) | +_____________________________+
| | 4 | |
+_____________________________+ 1 row in set (0.00 sec)
Следовательно, если задано ключевое слово distinct, функция count() проверит значение столбца для каждого члена группы, а не просто подсчитает число значений в ней.
Дата добавления: 2015-08-17; просмотров: 48 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Сравнение неявных и явных групп | | | Использование выражений |