русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Пример.


Дата добавления: 2013-12-23; просмотров: 991; Нарушение авторских прав


Пример.

Пример.

Для определения среднего значения поля marк (оценки)по всем записям таблицы exam marks можно использовать запрос с функцией AVGследующего вида:

SELECT AVG(MARK)

FROM EXAM_MARKS;

Для подсчета общего количества строк в таблице следует использовать функцию countсо звездочкой:

SELECT COUNT(*)

FROM EXAM_MARKS;

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

Предположим, требуется найти максимальное значение оценки, полученной каждым студентом. Запрос будет выглядеть следующим образом:

SELECTSTUDENT_ID, MAX(MARK)

FROMEXAM_MARKS

GROUP BYSTUDENT_ID;

Выбираемые из таблицы exam_marks записи группируются по значениям поля student_id, указанного в предложении GROUP BY, и для каждой группы находится максимальное значение поля MARK. Предложение group by позволяет применять агрегирующие функции к каждой группе, определяемой общим значением поля (или полей), указанных в этом предложении

В конструкцииGROUP BY для группирования может быть использовано более одного столбца.

SELECTSTUDENT_ID, SUBJ_ID, MAX(MARK)

FROMEXAM_MARKS

GROUP BYSTUDENT_ID, SUBJ_ID;

В этом случае строки вначале группируются по значениям первого столбца, а внутри этих групп – в подгруппы по значениям второго столбца.

В предложении GROUP BY должны быть указаны все выбираемые столбцы, приведенные после ключевого слова SELECT, кроме столбцов, указанных в качестве аргумента в агрегирующей функции.

При необходимости часть сформированных с помощью group by групп может быть исключена с помощью предложения HAVING.

Предложение HAVINGопределяет критерий, по которому группы следует включать в выходные данные.



SELECTSUBJ_NAME, MAX(HOUR)

FROMSUBJECT

GROUP BYSUBJ_NAME

HAVING MAX(HOUR) >= 72;

 

Упорядочение выходных полей (ORDER BY)

Записи в таблицах реляционной базы данных не упорядочены. Однако данные выводимые в результате выполнения запроса, могут быть упорядочены. Для этого используется оператор ORDER BY. При этом можно задать возрастающую (ASC) или убывающую (DESC) последовательность сортировки для каждого из столбцов. По умолчанию принята возрастающая последовательность сортировки.

Запрос, позволяющий выбрать все данные из таблицы предметов обучения SUBJECT с упорядочением по наименованию предметов выглядит следующим образом:

SELECT *

FROMSUBJECT

ORDER BYSUBJ_NAME;

 



<== предыдущая лекция | следующая лекция ==>
Операторы IN, BETWEEN, LIKE, IS NULL | SELECT COUNT( DISTINCT SUBJ_ID), MARK


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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