СУБД MySQL оснащена множеством функций, предназначенных непосредственно для получения суммарных показателей данных в таблицах. Эти функции чаще всего используются в запросах SELECT, содержащих предложения GROUP BY, но они могут использоваться и при реализации запросов без группировки. Перечень этих функций представлен в табл. 7.2.
Функция VARIANCE() возвращает статистическую дисперсию значений указанного результирующего набора, функция STD() - стандартное отклонение этих значений.
Функция GROUP_CONCAT() объединяет все значения, входящие в определенную группу (которая задается предложением GROUP BY), в одну строку. Рассмотрим пример таблицы, распределяющей пользователей по группам следующим образом.
Для того чтобы получить альтернативное, более понятное представление этой же информации, можно воспользоваться функцией GROUP_CONCAT() .
Для того чтобы убедиться в том, насколько полезными могут оказаться эти функции, рассмотрим следующий пример таблицы, содержащей список студентов и их оценки по соответствующим предметам.
А теперь для получения общей информации о записях, хранящихся в таблице, можно воспользоваться агрегатными функциями. Например, количество студентов, сдавших экзамены, можно узнать с помощью функции COUNT() .
С помощью функций LTRIM() и RTRIM() можно добиться результата, обратного результату функций LPAD() и RPAD(). Эти функции отсекают пробелы в начале и в конце строки.
Альтернативой этим функциям может служить функция TRIM() , позволяющая задавать удаляемый из строки символ и место, где будет выполнено усечение: в начале, в конце или с обеих сторон строки.
С помощью функций LEFT() и RIGHT() из строки можно выделить определенные фрагменты:
Вполне возможно объединить строки с определенным разделителем. Для этого воспользуемся подобной (хотя и не совсем идентичной) функцией CONCAT_WS() , позволяющей задавать в первом аргументе разделитель строки.
С помощью функции LOCATE() можно проверить, содержит ли строка определенную подстроку. Эта функция позволяет определить, где впервые появляется данная подстрока в указанной строке (если таковая имеется).
Для определения наличия определенного строкового значения в большой строке, можно использовать функцию FIND_IN_SET() . Набор строк, передаваемый вторым аргументом функции FIND_IN_SET() , представляется в виде строк, разделенных запятыми. Функция позволяет определить местоположение найденного значения, если такое значение существует. Нумерация начинается с 1.
Сравнение двух строк производится с помощью функции STRCMP() , принимающей в качестве аргументов две строки и возвращающей 0, если они подобны, 1, если первая больше второй, и -1 в противном случае. Сравнение строк не зависит от регистра представления этих строк, если специально не указано ключевое слово BINARY или сравниваемые значения не представлены типом BLOB.
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
Все о MySQL. Агрегатные функции
28-12-2009
<< Предыдущая статья | Следующая статья >> |
Все о MySQL. Функции MySQL | Все о MySQL. Функции даты и времени |