Виктор Гольцман - MySQL 5.0. Библиотека программиста
- Название:MySQL 5.0. Библиотека программиста
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Виктор Гольцман - MySQL 5.0. Библиотека программиста краткое содержание
Эта книга предназначена для всех, кто желает освоить СУБД MySQL. Для ее чтения вам не нужны никакие специальные знания – достаточно быть пользователем Windows. Вы узнаете, как установить и запустить MySQL, как создать собственную базу данных, как работать с данными при помощи команд SQL, как администрировать базу данных и оптимизировать ее работу. Разработчики веб-приложений на языках PHP, Perl и Java найдут в этой книге полезные сведения по использованию базы данных MySQL в соответствующих приложениях. Для всех операций, которые вам предстоит выполнить, приводятся подробные пошаговые инструкции, все основные действия поясняются на примере учебной базы данных.
MySQL 5.0. Библиотека программиста - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Функцию MIN() можно использовать для поиска строк, в которых достигается минимальное значение столбца.
Например, запросSELECT * FROM Customers WHERE rating = (SELECT MIN(rating) FROM Customers);
выводит информацию о клиентах, чей рейтинг равен минимальному (см. результат запроса в табл. 3.11).
Далее мы рассмотрим функцию подсчета количества значений.
COUNT()Данная функция возвращает количество отличных от NULL значений, содержащихся в столбце. Если в запросе вы укажете какое-либо условие отбора, то в подсчете участвуют только строки, удовлетворяющие условию отбора. Если не найдено ни одного отличного от NULL значения, то функция возвращает значение 0.
Например, запросSELECT COUNT(rating) FROM Customers;
возвращает количество отличных от NULL значений в столбце rating таблицы Customers (табл. 3.30). Таблица 3.30.Результат выполнения запроса
Параметр DISTINCT позволяет подсчитать количество различных (уникальных) значений в столбце (при этом неопределенные значения также игнорируются).
Например, запросSELECT COUNT(DISTINCT rating) FROM Customers;
подсчитывает количество различных значений рейтинга в таблице Customers (табл. 3.31). В таблице есть две строки с одинаковым рейтингом – 1000, поэтому результат подсчета будет меньше, чем в предыдущем запросе. Таблица 3.31.Результат выполнения запроса
Если в качестве аргумента функции COUNT() указать не имя столбца, а звездочку, то функция возвращает общее число строк, удовлетворяющих условию отбора, включая строки, содержащие неопределенные значения. Так, если столбец rating содержит неопределенные значения, то значение, выводимое запросомSELECT COUNT(*) FROM Customers;
будет больше, чем значение, выводимое запросом
SELECT COUNT(rating) FROM Customers;
(разность этих значений совпадает с количеством строк, в которых значение в столбце rating равно NULL).
Функцию COUNT() можно использовать для отбора тех строк родительской таблицы, с которыми связано заданное количество строк дочерней таблицы.
Например, запросSELECT * FROM Customers
WHERE 2 < = (SELECT COUNT(*) FROM Orders
WHERE Customers.id = customer_id);выводит список клиентов, сделавших не менее двух заказов (результат запроса см. в табл. 3.14). Для каждого клиента вложенный запрос выдает количество заказов этого клиента, и если это количество не меньше двух, то текущая запись о клиенте включается в результат, выводимый внешним запросом.
Рассмотрим функции вычисления среднеквадратичного отклонения.
Функции VAR_POP(), VARIANCE(), VAR_SAMP(), STDDEV_POP(), STD(), STDDEV() и STDDEV_SAMP()Функция VAR_POP() вычисляет дисперсию значений столбца. Дисперсия характеризует колебание значений от среднего. Если a1, a2, …, an – значения столбца,
– среднее арифметическое значений столбца, то дисперсия равна
Например, запросSELECT VAR_POP(rating) FROM Customers;
возвращает величину дисперсии рейтингов клиентов:
(табл. 3.32).
Таблица 3.32.Результат выполнения запросаФункция VARIANCE() является синонимом функции VAR_POP().
Функция VAR_SAMP() возвращает величину выборочной, или несмещенной, дисперсии (в математической статистике выборочная дисперсия является оценкой дисперсии всей изучаемой совокупности значений, при этом значения, по которым вычисляется несмещенная дисперсия, рассматриваются как выборка из изучаемой совокупности). Если a1, a2, … an – значения столбца,
– среднее арифметическое значений столбца, то значение выборочной дисперсии равно
Например, запросSELECT VAR_SAMP(rating) FROM Customers;
возвращает величину выборочной дисперсии рейтингов клиентов:
(табл. 3.33).
Таблица 3.33.Результат выполнения запросаФункция STDDEV_POP() вычисляет среднеквадратичное отклонение значений столбца, которое является квадратным корнем из дисперсии.
Например, запросSELECT STDDEV_POP(rating) FROM Customers;
возвращает величину
(табл. 3.34).
Таблица 3.34.Результат выполнения запросаФункции STD() и STDDEV() являются синонимами функции STDDEV_POP().
Функция STDDEV_SAMP() вычисляет квадратный корень из выборочной дисперсии.
Например, запросSELECT STDDEV_SAMP(rating) FROM Customers;
возвращает величину
(табл. 3.35).
Таблица 3.35.Результат выполнения запросаПри вычислении всех вышеперечисленных функций неопределенные значения не учитываются. Если в запросе вы укажете какое-либо условие отбора, то в вычислениях участвуют только те строки, которые удовлетворяют условию отбора. Если запросом не найдено ни одной строки или все значения в столбце равны NULL, то все эти функции возвращают значение NULL.
Далее мы рассмотрим функцию объединения строк.
GROUP_CONCAT()Функция GROUP_CONCAT() объединяет в одну строку значения столбца. При этом неопределенные значения не учитываются. Если в запросе вы укажете какое-либо условие отбора, то объединятся значения только из тех строк, которые удовлетворяют условию отбора. Если запросом не найдено ни одной строки или все значения в столбце равны NULL, то функция возвращает значение NULL.
Например, запросSELECT GROUP_CONCAT(name) FROM Customers;
возвращает строку, содержащую имена клиентов (табл. 3.36). Таблица 3.36.Результат выполнения запроса
При использовании функции GROUP_CONCAT() вы также можете указать дополнительные параметры:
• DISTINCT – исключает при объединении повторяющиеся значения;
• ORDER BY – упорядочивает объединяемые значения;
• SEPARATOR – задает разделитель значений.
Например, запросSELECT GROUP_CONCAT(DISTINCT name ORDER BY name ASC SEPARATOR \\') FROM Customers;
возвращает строку, содержащую имена клиентов без повторений, упорядоченные по алфавиту и разделенные точкой с запятой (табл. 3.37). Таблица 3.37. Результат выполнения запроса
Итак, вы изучили все основные групповые функции (за рамками нашего рассмотрения остались функции BIT_AND() – побитовое «и», BIT_OR() – побитовое «или» и BIT_XOR() – побитовое «исключающее или»). В следующем подразделе мы рассмотрим ключевое слово GROUP BY, с помощью которого можно вычислять групповые функции одновременно для нескольких групп строк.Параметр GROUP BY
В предыдущем подразделе мы рассматривали примеры запросов, в которых групповые функции вычисляют обобщающее значение для всех строк, удовлетворяющих условию отбора. Параметр GROUP BY позволяет объединять строки в группы, для каждой из которых групповая функция вычисляется отдельно. Для этого в параметре GROUP BY нужно указать столбец или несколько столбцов: в одну группу попадут строки с одинаковым набором значений в этих столбцах.
Например, запрос
SELECT customer_id, SUM(amount) FROM Orders GROUP BY customer_id;
возвращает общую сумму заказов отдельно для каждого клиента (табл. 3.38). В этом запросе заказы сгруппированы по значению столбца customer_id (клиент), поэтому каждая группа состоит из заказов одного клиента, а функция SUM(amount) вычисляет сумму заказов в каждой из групп. Таблица 3.38.Результат выполнения запроса
Читать дальшеИнтервал:
Закладка: