Умножение с использованием суммы в Oracle

Функция «Сумма» в Oracle позволяет суммировать все данные из указанного столбца и отображает результат в результатах вашего запроса. Вы можете использовать функцию множественности с функцией суммы, чтобы умножить результаты функции суммы. Вы используете эту функцию в сложных запросах, где вам нужно вернуть пользователю несколько математических результатов.

Цель

Функция суммы предназначена для быстрого сложения нескольких строк данных с помощью механизма базы данных Oracle. Функция суммы работает быстро, поэтому вам не нужно вручную складывать значения в структуру цикла, что замедляет работу сервера базы данных. Используя вместе функцию суммы и функцию умножения, вы можете получить два значения, сумму и произведение умножения, не создавая двух запросов для двух значений.

Сумма Функция

Функция суммы используется в вашем запросе на выбор. Вы должны указать столбец, который вы хотите добавить в функцию суммы. Следующий код суммирует все заказы клиентов и отображает результат:

выберите сумму (order_total) как Итого из заказов, где Customerid = 22

Результаты вышеуказанного запроса показывают общую сумму для идентификатора клиента 22.

Умножить

После того, как вы напишете функцию суммы, вы можете умножить ее на указанное число или использовать другой столбец для уравнения умножения. Например, следующий код умножает общую сумму на количество заказов, созданных клиентом:

выберите сумму (order_total) как Total, sub (order_total) * count (orderid) из заказов, где customerid = 22

Вышеупомянутый запрос показывает оба результата, но вы можете объединить два уравнения в одно, что даст одно значение в результатах.

Соображения

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