Kai yra didelis duomenų kiekis, dažnai matome galimybę manipuliuoti duomenimis pagal mūsų reikalavimus. „GROUP BY“ sąlyga yra viena iš tokių , naudojami duomenims grupuoti pagal kelis stulpelius arba sąlygas. Šiame straipsnyje apie SQL GROUP BY pareiškimą aptarsiu keletą būdų, kaip naudoti GROUP BY sakinius tokia seka:
duomenų struktūros ir algoritmai Java programoje
Prieš pereidami į pavyzdį, kaip naudoti sąlygą GROUP BY, supraskime, kas yra GROUP BY SQL ir jo sintaksėje.
SQL GROUP BY sakinys
Šis sakinys naudojamas grupuoti įrašus, turinčius tas pačias reikšmes. „GROUP BY“ sakinys dažnai naudojamas su kaupimo funkcijomis, kad rezultatai būtų sugrupuoti pagal vieną ar daugiau stulpelių.Be to, sąlyga GROUP BY taip pat naudojama su sąlyga HAVING ir grupuoti rezultatų rinkinį pagal sąlygas.
SQL GRUPĖ pagal sintaksę
PASIRINKITE 1 stulpelį, 2 stulpelį, ..., stulpelį N iš TableName WHERE Sąlyga GRUPĖ pagal ColumnName (s) ORDER BY
Čia galite pridėti suvestines funkcijas prieš stulpelių pavadinimus, taip pat sakinį HAVING sakinio pabaigoje, kad paminėtumėte sąlygą.Toliau, šiame straipsnyje apie SQL GROUP BY, supraskime, kaip įgyvendinti šį teiginį.
Pavyzdžiai:
Kad geriau suprastumėte, padalinau pavyzdžius į šiuos skyrius:
Apsvarstysiu šią lentelę, kad paaiškinčiau jums pavyzdžius:
„EmpID“ | „EmpName“ | „EmpEmail“ | Telefono numeris | Atlyginimas | Miestas |
vienas | Nidhi | nidhi@sample.com | 9955669999 | 50 000 | Mumbajus |
2 | Anay | anay@sample.com | 9875679861 | 55000 | Įdėk |
3 | Rahul | rahul@sample.com | 9876543212 | 35000 | Delis |
4 | Sonia | sonia@sample.com | 9876543234 | 35000 | Delis |
5 | Akašas | akash@sample.com | 9866865686 | 25000 | Mumbajus |
Pažvelkime į kiekvieną iš jų.
Viename stulpelyje naudokite SQL GROUP BY
Pavyzdys:
Parašykite užklausą, kad gautumėte darbuotojų skaičių kiekviename mieste.
PASIRINKITE SKAIČIŲ (EmpID), Miestas IŠ Darbuotojų GRUPĖS pagal miestą
Išvestis:
Pamatysite tokį išėjimą:
Skaičius (EmpID) | Miestas |
2 | Delis |
2 | Mumbajus |
vienas | Įdėk |
Naudokite SQL GROUP BY keliuose stulpeliuose
Pavyzdys:
Parašykite užklausą, norėdami sužinoti darbuotojų skaičių, turinčius skirtingus atlyginimus kiekviename mieste.
PASIRINKITE miestą, atlyginimą, skaičių (*) iš darbuotojų grupės pagal miestą, atlyginimą
Išvestis:
Lentelėje bus šie duomenys:
Miestas | Atlyginimas | Skaičius (*) |
Delis | 35000 | 2 |
Mumbajus | 25000 | vienas |
Mumbajus | 50 000 | vienas |
Įdėk | 55000 | vienas |
Naudokite SQL GROUP BY su ORDER BY
Kai mes naudojame SQL GROUP BY sakinį su Įsakymas „UŽSAKYTI“ , vertės rūšiuojamos didėjimo arba mažėjimo tvarka.
Pavyzdys:
Parašykite užklausą, kad gautumėte darbuotojų skaičių kiekviename mieste, surūšiuotą mažėjančia tvarka.
PASIRINKITE SKAIČIŲ (EmpID), Miestas IŠ Darbuotojų GRUPĖS PAGAL Miesto UŽSAKYMĄ PAGAL SKAITĮ (EmpID) DESC
Išvestis:
Lentelėje bus šie duomenys:
Skaičius (EmpID) | Miestas |
2 | Delis |
2 | Mumbajus |
vienas | Įdėk |
Naudokite SQL GROUP BY su HAVING sąlyga
SQL GROUP BY sakinys naudojamas su sąlyga „HAVING“ grupių sąlygoms paminėti.Be to, kadangi negalime naudoti suvestinių funkcijų su WHERE sąlyga, turime naudoti sąlygą „HAVING“, kad galėtume naudoti suvestines funkcijas su GROUP BY.
Pavyzdys:
Parašykite užklausą, norėdami sužinoti darbuotojų skaičių kiekviename mieste, turėdami algą> 15000
PASIRINKITE SKAIČIŲ (EmpID), miestą IŠ DARBUOTOJŲ GRUPĖS PAGAL MESĮ, KURIŲ ALGA ALYVA> 15000
Išvestis:
Kadangi visi įrašai yra lentelėje Darbuotojai, kurių atlyginimas yra didesnis nei 15000, mes išvysime šią lentelę:
Skaičius (EmpID) | Miestas |
2 | Delis |
2 | Mumbajus |
vienas | Įdėk |
Naudokite GROUP BY su JOINS
yra SQL sakiniai, naudojami derinant dviejų ar daugiau lentelių eilutes, remiantis susijusiu stulpeliu tarp tų lentelių. Rezultatų rinkinį galime sugrupuoti pagal stulpelį / stulpelius, naudodami SQL GROUP BY sakinį.Apsvarstykite toliau pateiktas lenteles, kad įvykdytumėte JOIN sakinius su sąlyga SQL GROUP BY.
Projektų lentelė:
„ProjectID“ | „EmpID“ | „ClientID“ | „ProjectDate“ |
2. 3. 4. 5 | vienas | 4 | 2019-01-26 |
9876 m | 2 | 5 | 2019-02-28 |
3456 | 3 | 6 | 2019-12-03 |
Klientų lentelė:
„ClientID“ | Kliento vardas |
4 | Sanjana |
5 | Rohanas |
6 | Arun |
Pavyzdys
Parašykite užklausą, nurodydami kiekvieno kliento prašomų projektų skaičių:
PASIRINKITE „Clients.ClientName“, COUNT („Projects.ProjectID“), kaip reikalaujama, PROJEKTAI iš Projektų LEFT JOIN
Išvestis:
Lentelėje bus šie duomenys:
Kliento vardas | Prašomi projektai |
Arun | vienas |
Rohanas | vienas |
Sanjana | vienas |
Tuo mes baigėme straipsnį „SQL GROUP BY“. Patikrinkite tai autorius - patikima internetinė mokymosi įmonė, turinti tinklą arba Daugiau nei 250 000 patenkintų besimokančiųjų pasklido po pasaulį. Šis kursas moko jus apie pagrindines sąvokas ir pažangius įrankius bei metodus, kaip valdyti duomenis ir administruoti „MySQL“ duomenų bazę. Tai apima praktinį mokymąsi tokiomis sąvokomis kaip „MySQL Workbench“, „MySQL Server“, duomenų modeliavimas, „MySQL Connector“, duomenų bazių dizainas, „MySQL“ komandų eilutė, „MySQL“ funkcijos ir kt. Mokymo pabaigoje galėsite sukurti ir administruoti savo „MySQL“ duomenų bazę ir tvarkyti duomenis.
Turite mums klausimą? Prašau tai paminėti šio „SQL GROUP BY“ straipsnio komentarų skyriuje ir mes kuo greičiau susisieksime su jumis.