Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 5 лет назад пользователемСофия Рождественская
2 Агрегатные функции вычисляют некоторые скалярные значения в наборе строк. В MySQL есть следующие агрегатные функции : 1. AVG : вычисляет среднее значение 2. SUM : вычисляет сумму значений 3. MIN : вычисляет наименьшее значение 4. MAX : вычисляет наибольшее значение 5. COUNT : вычисляет количество строк в запросе
3 Все агрегатные функции принимают в качестве параметра выражение, которое представляет критерий для определения значений. Зачастую, в качестве выражения выступает название столбца, над значениями которого надо проводить вычисления. Выражения в функциях AVG и SUM должно представлять числовое значение ( например, столбец, который хранит числовые значения ). Выражение в функциях MIN, MAX и COUNT может представлять числовое или строковое значение или дату. Все агрегатные функции за исключением COUNT(*) игнорируют значения NULL
4 AVG Функция Avg возвращает среднее значение на диапазоне значений столбца таблицы 1. CREATE TABLE Products 2.( 3. Id INT AUTO_INCREMENT PRIMARY KEY, 4. ProductName VARCHAR(30) NOT NULL, 5. Manufacturer VARCHAR(20) NOT NULL, 6. ProductCount INT DEFAULT 0, 7. Price DECIMAL NOT NULL 8.); INSERT INTO Products(ProductName, Manufacturer, ProductCount, Price) 11. VALUES 12.('iPhone X', 'Apple', 3, 76000), 13.('iPhone 8', 'Apple', 2, 51000), 14.('iPhone 7', 'Apple', 5, 32000), 15.('Galaxy S9', 'Samsung', 2, 56000), 16.('Galaxy S8', 'Samsung', 1, 46000), 17.('Honor 10', 'Huawei', 5, 28000), 18.('Nokia 8', 'HMD Global', 6, 38000)
5 Найдем среднюю цену товаров из базы данных : SELECT AVG (Price) AS Average_Price FROM Products Для поиска среднего значения в качестве выражения в функцию передается столбец Price. На этапе выборки можно применять фильтрацию. Например, найдем среднюю цену для товаров определенного производителя : 1. SELECT AVG(Price) FROM Products 2. WHERE Manufacturer='Apple'
6 Count Функция Count вычисляет количество строк в выборке. Есть две формы этой функции. Первая форма COUNT(*) подсчитывает число строк в выборке : SELECT COUNT(*) FROM Products Вторая форма функции вычисляет количество строк по определенному столбцу, при этом строки со значениями NULL игнорируются: SELECT COUNT(Manufacturer) FROM Products
7 Min и Max Функции Min и Max вычисляют минимальное и максимальное значение по столбцу соответственно. Например, найдем минимальную цену среди товаров : SELECT MIN(Price), MAX(Price) FROM Products Данные функции также игнорируют значения NULL и не учитывают их при подсчете.
8 Sum Функция Sum вычисляет сумму значений столбца. Например, подсчитаем общее количество товаров : SELECT SUM(ProductCount) FROM Products Также вместо имени столбца может передаваться вычисляемое выражение. Например, найдем общую стоимость всех имеющихся товаров: SELECT SUM(ProductCount * Price) FROM Products
9 All и Distinct Если необходимо выполнить вычисления только над уникальными значениями, исключив из набора значений повторяющиеся данные, то для этого применяется оператор DISTINCT SELECT COUNT(DISTINCT Manufacturer) FROM Products По умолчанию вместо DISTINCT применяется оператор ALL, который выбирает все строки : SELECT COUNT(ALL Manufacturer) FROM Products В данном случае мы видим, что производители могут повторяться в таблице, так как некоторые товары могут иметь одних и тех же производителей. Поэтому чтобы подсчитать количество уникальных производителей, необходимо использовать оператор DISTINCT.
10 Комбинирование функций Объединим применение нескольких функций 1. SELECT COUNT(*) AS ProdCount, 2. SUM(ProductCount) AS TotalCount, 3. MIN(Price) AS MinPrice, 4. MAX(Price) AS MaxPrice, 5. AVG(Price) AS AvgPrice 6. FROM Products
11 Агрегатные функции вместе с SQL GROUP BY ( группировкой ) Рассмотрим применение агрегатных функций вместе с оператором SQL GROUP BY. Оператор SQL GROUP BY служит для группировки результирующих значений по столбцам таблицы базы данных.
12 Есть база данных портала объявлений. В ней есть таблица Ads, содержащая данные об объявлениях, поданных за неделю. Столбец Category содержит данные о больших категориях объявлений ( например, Недвижимость ), а столбец Parts - о более мелких частях, входящих в категории ( например, части Квартиры и Дачи являются частями категории Недвижимость ). Столбец Units содержит данные о количестве поданных объявлений, а столбец Money - о денежных суммах, вырученных за подачу объявлений. CategoryPartUnitsMoney Транспор т Автомаш ины Недвижи мость Квартиры Недвижи мость Дачи Транспор т Мотоцик ли Строймат ериали Доски Электрот ттехника Телевизо ры Электрот ттехника Холодиль ники Строймат ериали Регипс Досуг Книги Недвижи мость Дома Досуг Музыка Досуг Игры
13 Используя оператор SQL GROUP BY, найти суммы денег, вырученных за подачу объявлений в каждой категории. Пишем следующий запрос : SELECT Category, SUM(Money) AS Money FROM Ads GROUP BY Category Результат : CategoryMoney Досуг Недвижимость Стройматериали Транспорт Электротттехника 17160
14 Тригонометрические функции MySQL Число " ПИ " - PI() Возвращает значение числа " пи ". Синус - SIN(x) Возвращает синус угла величиной в x радиан. Косинус - COS(x) Возвращает косинус угла величиной в x радиан. Тангенс - TAN(x) Возвращает тангенс угла величиной в x радиан. Котангенс - COT(x) Возвращает котангенс угла величиной в x радиан. Арксинус - ASIN(x) Возвращает арксинус числа x, то есть величину угла ( в радианах, от – π / 2 до π / 2), синус которой равен x. Арккосинус - ACOS(x) Возвращает арккосинус числа x, то есть величину угла ( в радианах, от 0 до π ), косинус которой равен x. Арктангенс - ATAN(x) Возвращает арктангенс числа x, то есть величину угла ( в радианах, от – π / 2 до π / 2), синус которой равен x. ATAN2(x,y), ATAN(x,y). Возвращает величину угла ( в радианах, от – π до π ) между векторами с координатами (1,0) и (x,y), иными словами, величину угла между осью абсцисс и прямой, соединяющей точки (0,0) и (x,y) на координатной плоскости. Совпадает с ATAN(y/x), если x > 0. Градусная мера угла - DEGREES(x) Возвращает градусную меру угла, радианная мера которого равна x радиан. Радианная мера угла - RADIANS(x) Возвращает радианную меру угла, градусная мера которого равна x градусов. 0. Градусная мера угла - DEGREES(x) Возвращает градусную меру угла, радианная мера которого равна x радиан. Радианная мера угла - RADIANS(x) Возвращает радианную меру угла, градусная мера которого равна x градусов.">
15 Примеры использования тригонометрических функций : SELECT PI(); SELECT SIN(PI()); SELECT COS(PI()); SELECT TAN(PI()); SELECT RADIANS(90); SELECT DEGREES(PI());
16 Пример использования тригонометрическихх функций MySQL при выборки данных из таблицы : SELECT X, COT(X), ASIN(X), ACOS(X), ATAN(X) FROM testtable; где testtable - имя таблицы ; X - столбец в таблице с данными (3.14; 0.5; 1).
17 Логические операторы Все логические операторы дают в результате значения 1 ( ИСТИНА ), 0 ( ЛОЖЬ ) или NULL ( неустановленное, которое в большинстве случаев принимается как ЛОЖЬ ): NOT ! Логическое НЕ. Возвращает 1, если операнд равен 0, в противном случае - 0. Исключение : NOT NULL определяется как NULL: mysql> SELECT NOT 1; -> 0 mysql> SELECT NOT NULL; -> NULL mysql> SELECT ! (1+1); -> 0 mysql> SELECT ! 1+1; -> 1 Последний пример дает 1, поскольку данное выражение вычисляется тем же способом, что и (!1)+1. OR || Логическое ИЛИ. Возвращает 1, если любой из операндов не равен ни 0, ни NULL: mysql> SELECT 1 || 0; -> 1 mysql> SELECT 0 || 0; -> 0 mysql> SELECT 1 || NULL; -> 1 AND&& Логическое И. Для операндов, значение которых не равно NULL, дает 1, если оба операнда ненулевые, и 0 - в противном случае. Возвращает NULL, если один из операндов равен NULL: mysql> SELECT 1 && 1; -> 1 mysql> SELECT 1 && 0; -> 0 mysql> SELECT 1 && NULL; -> NULL
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.