CATEGORII DOCUMENTE |
Clauza GROUP BY
Rezultatul unei fraze SELECT ce contine aceasta clauza se obtine prin regruparea tuturor liniilor din tabele enumerate in clauza FROM, extragandu-se cate o aparitie pentru fiecare valoare distincta a coloanei/grupului de coloane.
Formatul general este:
SELECT coloana 1, coloana 2,.., coloana n
FROM lista_tabele
GROUP BY coloana_de_regrupare
Care este suma incasata pe fiecare tip de bursa in parte?
SELECT tip_bursa, SUM (suma_incasata) AS total_bursa
FROM BURSA
GROUP BY tip_bursa
Rezultatul se obtine prin urmatoarea succesiune de operatii:
- se ordoneaza liniile tabelei BURSA dupa atributul de grupare tip_bursa
- se constituie un grup pentru fiecare valoare distincta a tip_bursa
- se executa functia SUM (suma_incasata) in cadrul fiecarui grup,
- se obtine rezultatul al carui numar de linii coincide cu valorile distincte ale tip_bursa
Schema simplificata de executie a interogarii este prezentata in figura 4.59.
tip_bursa |
total_bursa |
Exceptionala | |
Merit | |
Sociala | |
Studiu |
Figura 4.59.Totalul burselor acordate pe fiecare
tip de bursa in parte
Care este valoarea totala a burselor pentru fiecare zi in care s-au incasat burse?
SELECT data_incasarii, SUM (suma_incasata) AS Total_zi
FROM BURSA
GROUP BY data_incasarii
data_incasarii |
total_zi |
Figura 4.60. Totalul burselor acordate pe zile
Care este totalul burselor pe facultati?
SELECT facultate, SUM (suma_incasata) AS Total_facultate
FROM STUDENT S, BURSA B
WHERE S.nr_matricol = B.nr_matricol
GROUP BY facultate
facultate |
total_facultate |
Colegiul Economic | |
Stiinte Economice | |
Stiinte Juridice |
Figura 4.61. Totalul burselor pe facultati
Care este media burselor pe sectiile facultatii de Stiinte Economice?
SELECT sectia, AVG (suma_incasata) AS Medie_sectie
FROM STUDENT S, BURSA B
WHERE S.nr_matricol = B.nr_matricol AND facultate = "Stiinte Economice"
GROUP BY sectia
sectia |
medie_sectie |
CIG | |
FA | |
MG |
Figura 4.62. Media burselor pe facultati
Care este totalul burselor pe camin, incasate de studentii caministi?
SELECT nume_camin, SUM (suma_incasata) AS Total_camin
FROM STUDENT S, BURSA B, STUDCAMIN SC
WHERE S.nr_matricol = SC.nr_matricol AND S.nr_matricol = B.nr_matricol
GROUP BY nume_camin
nume_camin |
total_camin |
Caminul nr. 2 | |
Miclas | |
Sportiv |
Figura 4.63. Totalul burselor pe camin
Care este numarul total de exemplare si valoarea totala a fiecarei carti?
SELECT titlu, SUM (nr_exemplare) AS Total_exemplare, SUM (pret_unitar*nr_exemplare) AS Val_totala
FROM CARTE
GROUP BY titlu
titlu |
total_exemplare |
val_totala |
Baze de date | ||
Bazele contabilitatii | ||
Bazele politici sociale | ||
Conception orientee objets | ||
Contabilitate de gestiune | ||
Contabilitate generala | ||
Database Transaction Models | ||
Drept comercial |
|
|
Economie Politica | ||
Informatica de gestiune | ||
Merise vers OMT et UML | ||
Object-Oriented Modelling | ||
Politici si optiuni contabile | ||
Sisteme expert | ||
Sql. Dialecte | ||
Teoria generala a dreptului |
Figura 4.64. Numarul total si valoarea totala pe fiecare carte in parte
Care este numarul total de exemplare din fiecare domeniu in parte?
SELECT domeniu, SUM (nr_exemplare) AS Total_exemplare
FROM CARTE
GROUP BY domeniu
domeniu |
total_exemplare |
Contabilitate | |
Drept | |
Economie | |
Informatica |
Figura 4.65. Numarul total de exemplare pe domenii
Care este numarul cartilor din biblioteca in functie de nationalitatea autorilor?
SELECT nationalitate, COUNT (C.cota_carte) AS Nr_carti
FROM CARTE C, AUTORCARTE AC, AUTOR A
WHERE C.cota_carte = AC.cota_carte AND AC.cod_autor = A.cod_autor
GROUP BY nationalitate
nationalitate |
nr_carti |
Englez | |
Francez | |
Roman | |
Suedez |
Figura 4.66. Numarul cartilor in functie de nationalitatea autorilor
Care este totalul burselor incasate pe fiecare tip de bursa pentru fiecare zi in care s-au incasat burse?
SELECT tip_bursa, SUM (suma_incasata) AS Total_bursa, data_incasarii
FROM BURSA
GROUP BY tip_bursa, data_incasarii
tip_bursa |
total_bursa |
data_incasarii |
Exceptionala |
30-Jan-04 |
|
Exceptionala |
16-Feb-04 |
|
Merit |
18-Feb-04 |
|
Sociala |
16-Jan-04 |
|
Sociala |
26-Jan-04 |
|
Sociala |
28-Jan-04 |
|
Sociala |
16-Feb-04 |
|
Studiu |
02-Feb-04 |
|
Studiu |
18-Feb-04 |
|
Studiu |
20-Feb-04 |
Figura 4.67. Total burse pe zile
Care este numarul cartilor din biblioteca in functie de nationalitatea autorilor, pe domenii?
SELECT nationalitate, domeniu (COUNT (cota_carte) AS Nr_carti)
FROM CARTE C, AUTORCARTE AC, AUTOR A
WHERE C.cota_carte = AC.cota_carte AND AC.cod_autor = A.cod_autor
GROUP BY nationalitate, domeniu
nationalitate |
domeniu |
nr_carti |
Englez |
Informatica | |
Francez |
Informatica | |
Roman |
Contabilitate | |
Roman |
Informatica | |
Suedez |
Informatica |
Figura 4.68. Cartile dupa nationalitatea autorilor pe domenii
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1579
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved