Ko je prisotna velika količina podatkov, pogosto vidimo možnost manipulacije s podatki v skladu z našimi zahtevami. Klavzula GROUP BY je ena takih , ki se uporablja za razvrščanje podatkov na podlagi nekaj stolpcev ali pogojev. V tem članku o izjavi SQL GROUP BY bom obravnaval nekaj načinov uporabe stavkov GROUP BY v naslednjem zaporedju:
Preden preidemo na primere, kako uporabljati stavek GROUP BY, razjasnimo, kaj je GROUP BY v SQL in njegova sintaksa.
Stavek SQL GROUP BY
Ta stavek se uporablja za združevanje zapisov z enakimi vrednostmi. Stavek GROUP BY se pogosto uporablja s skupnimi funkcijami za združevanje rezultatov v enega ali več stolpcev.Poleg tega se stavek GROUP BY uporablja tudi s stavkom HAVING in združiti nabor rezultatov na podlagi pogojev.
Sintaksa SQL GROUP BY
IZBERI Stolpec1, Stolpec2, ..., StolpecN IZ IMENA Tabele KJER Pogoj SKUPINA PO IMENIH STOLPCEV RED PO IMENIH
Tu lahko dodate agregatne funkcije pred imeni stolpcev in tudi člen HAVING na koncu stavka, da omenite pogoj.Nato v tem članku o SQL GROUP BY razložimo, kako uporabiti to izjavo.
Primeri:
Za boljše razumevanje sem primere razdelil na naslednje razdelke:
Razložil bom naslednjo tabelo, da vam razložim primere:
EmpID | EmpName | EmpEmail | Telefonska številka | Plača | Mesto |
eno ustvari niz predmetov | Nidhi | nidhi@sample.com | 9955669999 | 50.000 | Mumbaj |
2. | Anay | anay@sample.com | 9875679861 | 55000 | Daj |
3. | Rahul | rahul@sample.com | 9876543212 | 35000 | Delhi |
4. | Sonia | sonia@sample.com | 9876543234 | 35000 | Delhi |
5. | Akaš | akash@sample.com | 9866865686 | 25000 | Mumbaj |
Oglejmo si vsako od njih.
Uporabite SQL GROUP BY v enem stolpcu
Primer:
Napišite poizvedbo za pridobitev števila zaposlenih v posameznem mestu.
IZBERI ŠTEVILO (EmpID), Mesto OD ZAPOSLENIH SKUPINA PO MESTU
Izhod:
Videli boste naslednji izhod:
Štetje (EmpID) | Mesto |
2. | Delhi |
2. | Mumbaj tabela, ki združuje dva vira podatkov |
eno | Daj |
Uporabite SQL GROUP BY v več stolpcih
Primer:
Napišite poizvedbo, če želite pridobiti število zaposlenih z različnimi plačami v posameznem mestu.
IZBERITE Mesto, Plača, Štetje (*) OD ZAPOSLENIH SKUPINA PO Mesto, Plača
Izhod:
Tabela bo imela naslednje podatke:
Mesto | Plača | Štetje (*) |
Delhi | 35000 | 2. |
Mumbaj | 25000 | eno |
Mumbaj | 50.000 | eno |
Daj | 55000 | eno |
Uporabite SQL GROUP BY z ORDER BY
Ko uporabljamo stavek SQL GROUP BY z Klavzula ORDER BY , vrednosti se razvrstijo po naraščajočem ali padajočem vrstnem redu.
Primer:
Napišite poizvedbo za pridobitev števila zaposlenih v posameznem mestu, razvrščenih po padajočem vrstnem redu.
IZBERI ŠTEVILO (EmpID), Mesto OD ZAPOSLENIH SKUPINA PO MESTU NAROČI PO ŠTEVILU (EmpID) DESC
Izhod:
Tabela bo imela naslednje podatke:
Štetje (EmpID) | Mesto |
2. | Delhi |
2. | Mumbaj |
eno | Daj |
Uporabite SQL GROUP BY s stavkom HAVING
Stavek SQL GROUP BY se uporablja s klavzulo „HAVING“ za omembo pogojev v skupinah.Ker tudi ne moremo uporabljati agregatnih funkcij s stavkom WHERE, moramo za uporabo agregatnih funkcij s skupino GROUP BY uporabiti stavek ‘HAVING’.
Primer:
Napišite poizvedbo za pridobitev števila zaposlenih v posameznem mestu s plačo> 15000
IZBERITE ŠTEVILO (EmpID), Mesto OD ZAPOSLENIH SKUPINA PO MESTIH, KI IMAJO PLAČO> 15000
Izhod:
Ker imajo vsi zapisi v tabeli Zaposleni plačo> 15000, bomo kot rezultat videli naslednjo tabelo:
Štetje (EmpID) | Mesto |
2. | Delhi |
2. | Mumbaj |
eno | Daj |
Uporabite GROUP BY z JOINS
so SQL stavki, ki se uporabljajo za kombiniranje vrstic iz dveh ali več tabel na podlagi povezanega stolpca med temi tabelami. Stavek SQL GROUP BY lahko uporabimo za združevanje nabora rezultatov na podlagi stolpca / stolpcev.Upoštevajte spodnje tabele, da izvedete stavke JOIN s stavkom SQL GROUP BY.
Tabela projektov:
ProjectID | EmpID | ClientID | Datum projekta |
2. 3. 4. 5 | eno | 4. | 26.01.2019 |
9876 | 2. | 5. | 28. 2. 2019 |
3456 | 3. | 6. | 12. 12. 2019 |
Tabela kupcev:
ClientID | ClientName |
4. | Sanjana |
5. | Rohan |
6. | Arun |
Primer
Napišite poizvedbo, da navedete število projektov, ki jih zahteva posamezna stranka:
IZBIRA Clients.ClientName, COUNT (Projects.ProjectID) KAKO ZahtevaniProjekti OD PROJEKTOV LEVO PRIDRUŽITE se strankam NA Projects.ProjectID = Clients.ProjectID GROUP BY ClientName
Izhod:
Tabela bo imela naslednje podatke:
ClientName | Zahtevani projekti |
Arun kaj je autoboxing v javi | eno |
Rohan | eno |
Sanjana | eno |
S tem smo prišli do konca članka SQL GROUP BY. Oglejte si to Edureka, zaupanja vredno podjetje za spletno učenje z mrežo ali f več kot 250.000 zadovoljnih učencev se je razširilo po vsem svetu. Ta tečaj vas usposobi za osnovne koncepte in napredna orodja in tehnike za upravljanje podatkov in upravljanje zbirke podatkov MySQL. Vključuje praktično učenje konceptov, kot so MySQL Workbench, MySQL Server, Data Modeling, MySQL Connector, Database Design, MySQL Command Line, MySQL Functions itd. Po koncu usposabljanja boste lahko ustvarili in upravljali svojo MySQL bazo podatkov in upravljanje podatkov.
Imate vprašanje za nas? Prosimo, omenite ga v oddelku za komentarje tega članka »SQL GROUP BY« in v najkrajšem možnem času vas bomo kontaktirali.