Содержание
- 2. Цели Изучить функции группировки Научиться применять функции группировки Группировать информацию с использованием секции GROUP BY Ограничивать
- 3. Функции группировки Функции группировки работают с набором данных для получения единственного результата
- 4. Функции группировки AVG COUNT MAX MIN STDDEV SUM VARIANCE
- 5. Синтаксис SELECT [column,] group_function(column), ... FROM table [WHERE condition] [GROUP BY column] [ORDER BY column];
- 6. Функции AVG и SUM SELECT AVG(salary), MAX(salary), MIN(salary), SUM(salary) FROM employees WHERE job_id LIKE '%REP%';
- 7. Функции MIN и MAX SELECT MIN(hire_date), MAX(hire_date) FROM employees;
- 8. Функция COUNT SELECT COUNT(*) FROM employees WHERE department_id = 50; SELECT COUNT(commission_pct) FROM employees WHERE department_id
- 9. Ключевое слово DISTINCT COUNT(DISTINCT expr) возвращает число уникальных not null строк Отображение количества уникальных подразделений в
- 10. Функции группировки и NULL значения Функции группировки игнорируют NULL значения Функция NVL заставляет функцию группировки использовать
- 11. Группировка данных
- 12. Секция GROUP BY Можно разделять строки в таблицах на группы используя секцию GROUP BY SELECT column,
- 13. Все колонки в секции SELECT, к которым не применяется группировка, должны быть в секции GROUP BY.
- 14. Колонки, находящиеся в секции GROUP BY, не должны находиться в секции SELECT без функции группировки. Секция
- 15. Группировка по нескольким колонкам
- 16. Группировка по нескольким колонкам SELECT department_id dept_id, job_id, SUM(salary) FROM employees GROUP BY department_id, job_id ;
- 17. Часто встречаемые ошибки Колнка, находящаяся в секции SELECT, не обернута групповой функцией и не находится в
- 18. Часто встречаемые ошибки Нельзя использовать секцию WHERE для ограничения сгруппированных строк Используйте HAVING Функцию группировки нельзя
- 19. Ограничение результатов группировки
- 20. Секция HAVING При использовании секции HAVING сервер ORACLE выполняет следующие шаги: Группирует строки Применяет функцию группировки
- 21. Секция HAVING SELECT department_id, MAX(salary) FROM employees GROUP BY department_id HAVING MAX(salary)>10000;
- 22. Секция HAVING SELECT job_id, SUM(salary) PAYROLL FROM employees WHERE job_id NOT LIKE '%REP%' GROUP BY job_id
- 24. Скачать презентацию