69700

Групування записів

Лекция

Информатика, кибернетика и программирование

Оператор SELECT дозволяє групувати значення, що повертаються. Наприклад, клієнт Іванов (C_NO=l) кілька разів замовляв у нас якийсь товар. Означає його номер зустрічається в таблиці ORDERS кілька разів. Інший клієнт також міг зробити декілька замовлень.

Украинкский

2014-10-08

25 KB

1 чел.

Тема 29: Групування  записів

Оператор SELECT дозволяє групувати значення, що повертаються. Наприклад, клієнт Іванов (C_NO=l) кілька разів замовляв у нас якийсь товар. Означає його номер зустрічається в таблиці ORDERS кілька разів. Інший клієнт також міг зробити декілька замовлень. Ми можемо згрупувати всі записи по полю C_NO (номер клієнта), а потім вивести суму замовлення кожного клієнта.

SELECT CLIENTS.FIO, SUM(ORDERS.AMOUNT) AS TOTALSUM

FROM CLIENTS, ORDERS

WHERE CLIENTS.C_NO = ORDERS.C_NO

GROUP BY ORDERS.C_NO;

Угрупування виконує оператор GROUP BY, який являетсячастью оператора SELECT. Оператора GROUP BY можна обмежити за допомогою HAVING. Цей оператор використовується для відбору рядків, GROUP BY, що повертаються. HAVING можна вважати аналогом WHERE, але тільки для GROUP BY:

HAVING   <умова>

Наприклад, нас цікавлять тільки клієнти, які замовили товарів на загальну суму, що перевищує 1000.

SELECT CLIENTS.FIO, SUM(ORDERS.AMOUNT) AS TOTALSUM ' FROM CLIENTS, ORDERS WHERE CLIENTS.C_NO = ORDERS.C_NO GROUP BY ORDERS.C_NO HAVING TOTALSUM > 10 00;

У цьому запиті ми використовували псевдонім стовпця TOTALSUM. B деяких серверах SQL для визначення псевдоніма не потрібно писати службове слово AS, а деякі вимагають застосування знаку рівності:

SUM(ORDERS.AMOUNT) TOTALSUM або TOTALSUM = SUM(ORDERS.AMOUNT).

13.2.10. Сортування записів

Поки ми не встановили первинний ключ, сортування нашої таблиці не виконується. Дані будуть відображені в порядку занесення їх в таблицю. Для сортування по полю C_NO результату виведення таблиці CLIENTS використовується наступний оператор (сама таблиця при цьому не сортується):

SELECT * FROM CLIENTS ORDER BY C_NO;


 

А также другие работы, которые могут Вас заинтересовать

12152. КОМПОНЕНТЫ, ИСПОЛЬЗУЕМЫЕ ДЛЯ СВЯЗИ С БАЗАМИ ДАННЫХ 66 KB
  КОМПОНЕНТЫ ИСПОЛЬЗУЕМЫЕ ДЛЯ СВЯЗИ С БАЗАМИ ДАННЫХ Обзор компонентов используемых для связи с базами данных Компоненты Delphi используемые для работы с базами данных расположены в библиотеке компонентов на страницах Data Access доступ к данным и Data Control управл
12153. Знакомство с интегрированной средой Delphi 136 KB
  Лабораторная работа № 1 Знакомство с интегрированной средой Delphi Загрузка Delphi возможна одним из следующих способов: кнопка Пуск раздел Программы и далее в соответствии с названием программного продукта; ярлык на рабочем столе; быстрая кнопк
12154. СОЗДАНИЕ ОТЧЕТОВ. Система «Быстрый отчет» (Quick Report) 96.18 KB
  СОЗДАНИЕ ОТЧЕТОВ 6.1 Система Быстрый отчет Quick Report Для создания отчетов в Delphi включена система QuickReport все компоненты которой размещены на странице QReport палитры компонентов. Быстрый отчет использует генератор отчетов состоящий из множества полос. Полоса band –э
12155. ПРОГРАММИРОВАНИЕ РАБОТЫ С БАЗАМИ ДАННЫХ 70.04 KB
  ПРОГРАММИРОВАНИЕ РАБОТЫ С БАЗАМИ ДАННЫХ Состояние набора данных Основным свойством компонента Table является свойство State определяющее состояние набора данных. Это свойство доступно только во время выполнения и только для чтения. Набор данных может находиться...
12156. ПРИЛОЖЕНИЯ С НЕСКОЛЬКИМИ СВЯЗАННЫМИ ТАБЛИЦАМИ 31.5 KB
  ПРИЛОЖЕНИЯ С НЕСКОЛЬКИМИ СВЯЗАННЫМИ ТАБЛИЦАМИ Рассмотрим принципы построения приложения с несколькими связанными друг с другом таблицами. 8.1 Связь головной и вспомогательной таблиц Две таблицы могут быть связаны друг с другом по ключу. Одна из этих связанных табл...
12157. ТИПЫ ПОЛЕЙ. НЕКОТОРЫЕ СВОЙСТВА ТАБЛИЦЫ 61.5 KB
  ТИПЫ ПОЛЕЙ. НЕКОТОРЫЕ СВОЙСТВА ТАБЛИЦЫ Типы полей реляционной базы данных Проектирование приложения работающего с базами данных предполагает наличие самих баз данных. Вместе с BDE в Delphi поставляется программа Database Desktop которая позволяет создавать таблицы ба...
12158. ОБЩЕЕ ПОНЯТИЕ О БАЗЕ ДАННЫХ. МОДЕЛИ ДАННЫХ. СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ 182.07 KB
  ОБЩЕЕ ПОНЯТИЕ О БАЗЕ ДАННЫХ. МОДЕЛИ ДАННЫХ. СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ База данных Всегда когда возникает потребность манипулирования большими массивами данных используются базы данных. В общем случае под данными понимается информация наход...
12159. ПОСТРОЕНИЕ ЗАПРОСОВ В DELPHI 36 KB
  ПОСТРОЕНИЕ ЗАПРОСОВ В DELPHI Запрос – это вопрос к базе данных возвращающий запись или множество записей удовлетворяющих вопросу. Любой запрос по базе данных выполняется на языке SQL Structured Query Language – язык структурированных запросов который был создан Microsoft в конце 70х год...
12160. Режимы design-time и run-time. Объектные процедурные типы. Работа с ini файлами 148.5 KB
  Лабораторная работа №1 Тема: Режимы designtime и runtime. Объектные процедурные типы. Работа с iniфайлами Цель работы: показать простоту создания приложений в режиме designtime и удобство использования компонентов; показать возможность создания приложений с настраиваемым интер...