Программирование >>  Создание клиентов mysql 

1 ... 20 21 22 [ 23 ] 24 25 26 ... 201


SELECT i.Name, i.Price, o.Name AS Option Name

FROM item i LEFT JOIN item option о ON i.ID = o.Item ORDER BY i.Price DESC

Группировка результатов запроса

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

В листинге 6.17 представлен запрос, в котором записи объединенной таблицы группируются по названию товара и его цене. В принципе, достаточно выполнять группировку только по полю Name, но в этом случае столбец Price нельзя б1ло бы включить в результаты запроса.

mysql> SELECT i.Name, i.Price, COUNT(o.ID) AS Options -> FROM item i LEFT JOIN item option о -> ON i.ID = o.Item -> GROUP BY i.Name, i.Price

-> ORDER BY Options;


В третьем столбце содержатся результаты выполнения встроенной статистической функции COUNT (). Для каждой группы она подсчитывает число значений, не равных NULL.

Ограничение числа возвращаемтх записей

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



Изменение определения таблицы

Если указаны два числа, разделенных запятой, то первое из них определяет начальную строку выборки, а второе - размер выборки.

В листинге 6.18 показан запрос, возвращающий описание товара, у которого наибольшее число вариантов изготовления. Если таких записей окажется две ии более, будет выбрана та из них, которая стоит первой в списке. Предложение LIMIT инструкции SELECT является специфичной особенностью MySQL.

SELECT i.Name, i.Price, count(о.ID) AS Options FROM item i LEFT JOIN item option о ON i.ID =o.Item GROUP BY i.Name, i.Price ORDER BY Options DESC, Name LIMIT 1

Изменение определения таблицы

Инструкция ALTER TABLE позволяет менять определение таблицы. Можно добавлять, удалять и модифицировать определения столбцов, а также добавлять и удалять индексы. Допускается переименование таблицы.

Инструкция, показанная в листинге 6.19, добавляет в таблицу item столбец Inventory, в которомбудет указываться количество товара на складе. После выполнения запроса каждая запись таблицы будет содержать в поле Inventory значение 0.

ALTER TABLE item

ADD COLUMN Inventory INT (4) NOT NULL DEFAULT 0



ПРОЕКТИРОВАНИЕ БАЗ ДАННГХ

В этой главе...

Спецификация требований Спецификация проекта Составление схемы базы данных Реализация модели Тестирование

Планирование жизненного цикла



1 ... 20 21 22 [ 23 ] 24 25 26 ... 201

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика