Sql - Lecția 8

Pagina principală → → Lectii din Lecția SQL 8: înregistrări Gruparea și funcția COUNT ()

Să ne amintim ce mesaje și ce subiecte avem. Puteți utiliza cererea de obicei:

Ce se întâmplă dacă avem nevoie doar să știu cât de multe posturi acolo. Puteți utiliza built-in funcția COUNT (). Această funcție contorizează numărul de rânduri. Mai mult decât atât, în cazul în care argumentul acestei funcții acte *, apoi se contorizează toate rândurile din tabel. Și dacă argumentul specifică numele de coloană, apoi numărate doar acele rânduri care au o valoare în coloana specificată.

În exemplul nostru, ambele argumente va da același rezultat ca și toate coloanele din tabel sunt de tip NOT NULL. Să scrie o interogare folosind ca argument id_topic coloana:

Deci, la subiecții noștri, există 4 posturi. Dar dacă vrem să știm cât de multe mesaje pe care le au în fiecare subiect. Pentru aceasta avem nevoie de posturi din grupul nostru de subiect, și se calculează pentru fiecare grup de mesaje. Pentru grupuri într-o instrucțiune SQL este utilizată GROUP BY. Cererea noastră va arăta acum astfel:

GROUP BY declarație specifică de date SGBD grupate pe id_topic coloană (adică fiecare subiect - un grup separat) și pentru fiecare grup pentru a calcula numărul de rânduri:

Ei bine, subiectul cu id = 1 avem 3 posturi, și cu id = 4 - unul. De altfel, în cazul în care un câmp au fost posibile valori lipsă id_topic, astfel de linie ar fi îmbinate într-un singur grup cu o valoare NULL.

Să presupunem că ne interesează doar acele grupuri în care mai mult de două mesaje. În interogare normală, ne-ar indica starea folosind clauza WHERE. dar operatorul este capabil să lucreze numai cu linii, și pentru grupuri de aceleași funcții sunt îndeplinite de clauza HAVING.

Ca urmare, avem:

În Lecția 4, am considerat ce condiții pot fi definite clauza WHERE. Aceleași condiții pot fi stabilite și având operatorul. Trebuie doar să ne amintim că, atunci când filtrele rânduri și având - de grup.

Deci, astăzi am învățat cum să creeze un grup și cum să contoriza numărul de rânduri în tabel și în grupuri. În general, împreună cu grupul operatorul BY poate utiliza alte funcții încorporate, dar vom explora mai târziu.

În cazul în care acest site a fost util pentru tine, vă poate ajuta în dezvoltarea sa prin punerea una dintre aceste link-uri către site-ul tau.

articole similare