Ja ir liels datu daudzums, mēs bieži redzam iespēju manipulēt ar datiem atbilstoši mūsu prasībām. GROUP BY klauzula ir viena no šādām , ko izmanto datu grupēšanai, pamatojoties uz dažām kolonnām vai nosacījumiem. Šajā rakstā par SQL GROUP BY paziņojumu es apspriedīšu dažus veidus, kā izmantot GROUP BY priekšrakstus šādā secībā:
Pirms mēs pārejam pie piemēriem, kā izmantot klauzulu GROUP BY, ļaujiet mums saprast, kas SQL GROUP ir GROUP BY un tā sintakse.
SQL GROUP BY priekšraksts
Šis paziņojums tiek izmantots, lai grupētu ierakstus ar vienādām vērtībām. GROUP BY priekšrakstu bieži izmanto kopā ar apkopošanas funkcijām, lai rezultātus grupētu pēc vienas vai vairākām kolonnām.Papildus tam klauzula GROUP BY tiek izmantota arī ar klauzulu HAVING un grupēt rezultātu kopu, pamatojoties uz nosacījumiem.
SQL GROUP BY sintakse
SELECT kolonna1, kolonna2, ..., kolonnaN NO TableName WHERE Nosacījums GROUP BY ColumnName (s) ORDER BY ColumnName (s)
Šeit jūs varat pievienot apkopošanas funkcijas pirms kolonnu nosaukumiem, kā arī HAVING klauzulu paziņojuma beigās, lai pieminētu nosacījumu.Tālāk šajā rakstā par SQL GROUP BY ļaujiet mums saprast, kā ieviest šo paziņojumu.
Piemēri:
Lai jūs labāk saprastu, es esmu sadalījis piemērus šādās sadaļās:
Es apsvēršu šo tabulu, lai izskaidrotu jums piemērus:
EmpID | EmpName | EmpEmail | Telefona numurs | Alga | Pilsēta |
viens | Nidhi | nidhi@sample.com | 9955669999 ir git un github tas pats | 50 000 | Mumbai |
2 | Anay | anay@sample.com | 9875679861 | 55000 | Put |
3 | Rahuls | rahul@sample.com | 9876543212 | 35000 | Deli |
4 | Sonija | sonia@sample.com | 9876543234 | 35000 | Deli |
5 | Akašs | akash@sample.com | 9866865686 | 25000 | Mumbai |
Apskatīsim katru no tiem.
Izmantojiet SQL GROUP BY vienā kolonnā
Piemērs:
Uzrakstiet vaicājumu, lai iegūtu darbinieku skaitu katrā pilsētā.
ATLASIET COUNT (EmpID), pilsēta no darbinieku grupas pēc pilsētas
Izeja:
Jūs redzēsiet šādu izvadi:
Skaits (EmpID) | Pilsēta |
2 | Deli |
2 | Mumbai |
viens | Put |
Izmantojiet SQL GROUP BY vairākās kolonnās
Piemērs:
Uzrakstiet vaicājumu, lai uzzinātu darbinieku skaitu, kuriem katrā pilsētā ir atšķirīgas algas.
Atlasiet pilsētu, algu, skaitli (*) NO darbinieku grupas pēc pilsētas, algu
Izeja:
Tabulā būs šādi dati:
Pilsēta | Alga | Skaits (*) |
Deli | 35000 | 2 |
Mumbai | 25000 | viens |
Mumbai | 50 000 | viens |
Put | 55000 | viens |
Izmantojiet SQL GROUP BY ar ORDER BY
Kad mēs izmantojam SQL GROUP BY priekšrakstu ar Klausījums ORDER BY , vērtības tiek sakārtotas augošā vai dilstošā secībā.
Piemērs:
Uzrakstiet vaicājumu, lai izgūtu darbinieku skaitu katrā pilsētā, sakārtojot dilstošā secībā.
java programmas fibonacci sērijām
ATLASIET COUNT (EmpID), pilsēta NO darbinieku grupas pēc pilsētas pasūtījuma pēc skaita (empid) DESC
Izeja:
Tabulā būs šādi dati:
Skaits (EmpID) | Pilsēta |
2 | Deli |
2 | Mumbai |
viens | Put |
Izmantojiet SQL GROUP BY ar klauzulu HAVING
SQL GROUP BY priekšrakstu izmanto ar klauzulu “HAVING”, lai pieminētu nosacījumus grupām.Turklāt, tā kā mēs nevaram izmantot apkopotās funkcijas ar klauzulu WHERE, mums ir jāizmanto klauzula “HAVING”, lai izmantotu apkopotās funkcijas kopā ar GROUP BY.
Piemērs:
Uzrakstiet vaicājumu, lai iegūtu darbinieku skaitu katrā pilsētā, kuru alga ir lielāka par 15000
ATLASIET COUNT (EmpID), pilsētu NO darbinieku grupas pēc pilsētas, kurai ir alga> 15000
Izeja:
Tā kā tabulā Darbinieki visi ieraksti ir ar algu> 15000, kā izlaidi redzēsim šo tabulu:
Skaits (EmpID) | Pilsēta |
2 | Deli |
2 kas ir maināms un nemainīgs | Mumbai |
viens | Put |
Izmantojiet GROUP BY ar JOINS
ir SQL priekšraksti, ko izmanto, lai apvienotu divu vai vairāku tabulu rindas, pamatojoties uz saistītu kolonnu starp šīm tabulām. Mēs varam izmantot SQL GROUP BY priekšrakstu, lai grupētu rezultātu kopu, pamatojoties uz kolonnu / kolonnām.Apsveriet tālāk norādītās tabulas, lai izpildītu JOIN priekšrakstus ar klauzulu SQL GROUP BY.
Projektu tabula:
ProjectID | EmpID | ClientID | ProjectDate |
2. 3. 4. 5 | viens | 4 | 2019. gada 26. janvāris |
9876 | 2 | 5 | 28.02.2019 |
3456 | 3 | 6 | 12.03.2019 |
Klientu tabula:
ClientID | ClientName |
4 | Sanjana |
5 | Rohans |
6 | Arun |
Piemērs
Uzrakstiet vaicājumu, lai uzskaitītu katra klienta pieprasīto projektu skaitu:
Atlasiet Client.ClientName, COUNT (Projects.ProjectID) AS RequestedProjects from Projects LEFT JOIN klienti projektos. ProjektID = Clients.ProjectID GROUP BY ClientName
Izeja:
Tabulā būs šādi dati:
ClientName | Pieprasītie projekti |
Arun | viens |
Rohans | viens |
Sanjana | viens |
Ar to mēs esam nonākuši raksta SQL GROUP BY beigās. Pārbaudiet to autors Edureka, uzticams tiešsaistes mācību uzņēmums ar tīklu vai Vairāk nekā 250 000 apmierinātu izglītojamo izplatījās visā pasaulē. Šis kurss apmācīs jūs par galvenajiem jēdzieniem un uzlabotajiem rīkiem un paņēmieniem, kā pārvaldīt datus un administrēt MySQL datu bāzi. Tas ietver praktisku mācīšanos par tādiem jēdzieniem kā MySQL Workbench, MySQL Server, datu modelēšana, MySQL savienotājs, datu bāzes noformēšana, MySQL komandrinda, MySQL funkcijas utt. Apmācības beigās varēsiet izveidot un administrēt savu MySQL datu bāzi un pārvaldīt datus.
Vai mums ir jautājums? Lūdzu, pieminējiet to šī raksta “SQL GROUP BY” komentāru sadaļā, un mēs sazināsimies ar jums pēc iespējas ātrāk.