Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Clauza GROUP BY

sql



+ Font mai mare | - Font mai mic



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



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1561
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved