Умножаване с помощта на сума в Oracle

Функцията "Sum" в Oracle ви позволява да добавите всички данни от определена колона и показва резултат в резултатите от вашата заявка. Можете да използвате функцията за многократно използване на функцията сума, за да умножите резултатите от функцията за сумиране. Използвате тази функция в сложни заявки, където трябва да върнете няколко математически резултата на потребителя.

Предназначение

Целта на функцията за сумиране е да добави бързо няколко реда данни с помощта на механизма за бази данни на Oracle. Функцията за сумиране е бърза, така че не добавяте ръчно стойности в циклична структура, което забавя сървъра на вашата база данни. Използвайки функцията за сумиране и функцията за умножение заедно, можете да получите две стойности, сумата и умножения продукт, без да създавате две заявки за две стойности.

Функция за сумиране

Функцията за сумиране се използва във вашата заявка за "избор". Трябва да посочите колона, която искате да добавите във функцията за сумиране. Следният код добавя всички клиентски поръчки и показва резултата:

изберете сума (сума_за поръчка) като Общо от поръчки, където customerid = 22

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

Умножете

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

изберете сума (сума_за поръчка) като Общо, под (сума_за поръчка) * брой (поръчка) от поръчки, където customerid = 22

Заявката по-горе показва и двата резултата, но можете да комбинирате двете уравнения в едно, което води до една стойност в резултатите.

Съображения

Ако трябва да умножите отделни записи, трябва да създадете заявки за всеки запис. Можете също така да създадете курсор в Oracle, за да преминете през множество записи и да запишете всеки резултат в променлива. Курсорите са по-бавни в Oracle, но се използват в случаите, когато имате само една опция да върнете резултатите за няколко записа поотделно.