Изучаем sql



Pdf көрінісі
бет141/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   137   138   139   140   141   142   143   144   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )

Использование выражений
В качестве аргументов агрегатных функций вы можете использовать не
только столбцы, но и созданные вами выражения. Например, требует
ся найти максимальное значение отложенных вкладов по всем счетам,
которое вычисляется путем вычитания доступного остатка из отложен
ного остатка. Сделать это можно посредством следующего запроса:
mysql> 
SELECT MAX(pending_balance avail_balance) max_uncleared
> FROM account;
++
| max_uncleared |
++
| 660.00 |
++
1 row in set (0.00 sec)
В данном примере используется довольно простое выражение, но при
меняемые в качестве аргументов агрегатных функций выражения мо
гут быть настолько сложными, насколько это нужно, и возвращать
число, строку или дату. В главе 11 будет показано, как с помощью вы
ражения 
case
и агрегатных функций можно управлять попаданием или
непопаданием конкретной строки под действие агрегатной функции.


160
Глава 8. Группировка и агрегаты
Обработка значений Null
При агрегировании, да и при вычислении любого численного выраже
ния, всегда следует учитывать влияние значения 
null
на результат вы
числения. Для иллюстрации создадим простую таблицу для хранения
числовых данных и заполним ее набором {1, 3, 5}:
mysql> 
CREATE TABLE number_tbl
> (val SMALLINT);
Query OK, 0 rows affected (0.01 sec)
mysql> 
INSERT INTO number_tbl VALUES (1);
Query OK, 1 row affected (0.00 sec)
mysql> 
INSERT INTO number_tbl VALUES (3);
Query OK, 1 row affected (0.00 sec)
mysql> 
INSERT INTO number_tbl VALUES (5);
Query OK, 1 row affected (0.00 sec)
Рассмотрим следующий запрос, применяющий пять агрегатных функ
ций к этому набору чисел:
mysql> 


Достарыңызбен бөлісу:
1   ...   137   138   139   140   141   142   143   144   ...   261




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет