Înmulțirea utilizând o sumă în Oracle

Funcția „Sumă” din Oracle vă permite să adăugați toate datele dintr-o coloană specificată și să afișați un rezultat în rezultatele interogării dvs. Puteți utiliza caracteristica multiplă cu funcția sumă pentru a multiplica rezultatele din funcția sumă. Utilizați această caracteristică în interogări complexe în care trebuie să returnați mai multe rezultate matematice utilizatorului.

Scop

Scopul funcției de sumă este de a adăuga rapid mai multe rânduri de date folosind motorul de baze de date Oracle. Funcția sumă este rapidă, deci nu adăugați manual valori într-o structură de buclă, ceea ce încetinește serverul de baze de date. Folosind funcția sumă și caracteristica de multiplicare împreună, puteți obține două valori, suma și produsul multiplicat, fără a crea două interogări pentru două valori.

Funcția Sumă

Funcția sumă este utilizată în interogarea „selectați”. Trebuie să specificați o coloană pe care doriți să o adăugați în funcția sumă. Următorul cod adaugă toate comenzile clienților și afișează rezultatul:

selectați suma (total_comandă) ca Total din comenzile în care clientul = 22

Rezultatele din interogarea de mai sus arată suma totală pentru ID-ul de client 22.

Multiplica

După ce scrieți funcția sumă, puteți înmulți cu un număr specificat sau puteți utiliza o altă coloană pentru ecuația de înmulțire. De exemplu, următorul cod înmulțește totalul cu numărul de comenzi produse de client:

selectați suma (order_total) ca Total, sub (order_total) * count (orderid) din comenzile unde client = 22

Interogarea de mai sus arată ambele rezultate, dar puteți combina cele două ecuații într-una singură, ceea ce produce o valoare în rezultate.

Considerații

Dacă trebuie să multiplicați înregistrări individuale, trebuie să creați interogări pentru fiecare înregistrare. De asemenea, puteți crea un cursor în Oracle pentru a parcurge mai multe înregistrări și a înregistra fiecare rezultat într-o variabilă. Cursorii sunt mai încet în Oracle, dar sunt utilizați în cazurile în care aveți o singură opțiune de a returna rezultatele pentru mai multe înregistrări individual.