Rekomenduojama, 2024

Redaktoriaus Pasirinkimas

Skirtumas tarp grupių ir užsakymų pagal SQL

SQL leidžia tvarkyti užklausoje gautus duomenis. Mes turime dvi sąlygas, skirtas organizuoti duomenis, gautus iš užklausos, kuri yra pagal grupę ir pagal eilutę. Punktas, pagal kurį išskiriama grupė pagal grupę ir pagal eilę, yra ta, kad grupinė išlyga naudojama tada, kai norime taikyti bendrą funkciją daugiau nei vienam rinkinių rinkiniui, o Užsakymo pagal išlygą, kai norime surūšiuoti užklausoje gautus duomenis. Aptarkime kai kuriuos skirtumus tarp „Grupės pagal sąlygą“ ir „Pagal eilę pagal išlygą“ toliau pateiktos palyginimo lentelės pagalba.

Palyginimo diagrama

Palyginimo pagrindasGrupuoti pagalRūšiuoti pagal
PagrindinisGrupė yra naudojama sudarant grupių rinkinį.Pagal užsakymą naudojamas tvarkyti duomenis, gautus atlikus užklausą „Rūšiuota“ forma.
AtributasAtributas pagal agreguotą funkciją negali būti įtrauktas į grupę pagal sąlygą.Po apibendrintu požymiu gali būti nurodoma eilutėje.
ŽemėSudaryta remiantis atributų reikšmių panašumu.Priimta didėjančia tvarka ir mažėjančia tvarka.

Grupės apibrėžimas pagal straipsnį

Bendrosios funkcijos, pvz., Vid., Min., Maks. Tuo atveju, jei norite pritaikyti suvestines funkcijas grupių rinkiniui, tada mes turime grupę pagal sąlygą. Pagal grupę pagal grupes grupuojamos tos pačios atributų vertės.

Vienas dalykas, kurį reikia prisiminti, yra „Group By“ nuostata, įsitikinkite, kad po grupės pagal sąlygą atributas turi būti rodomas SELECT sąlygoje, bet ne pagal bendrą funkciją . Jei Grupės pagal sąlygą yra atributas, kuris nėra įtrauktas į „SELECT“ sąlygą arba jei jis yra pagal SELECT sąlygą, bet pagal bendrą funkciją, užklausa tampa klaidinga. Vadinasi, galime teigti, kad Grupės pagal sąlygą visada naudojamasi bendradarbiaujant su SELECT sąlyga.

Paimkime pavyzdį, kad suprastume Grupės pagal sąlygą.

Pasirinkti skyrių _ID, avg (atlyginimas) kaip avg_salary iš mokytojų grupės pagal skyrių_ID.

Matote, kad iš pradžių susidaro tarpinis rezultatas, suskirstęs skyrius.

Po to kiekvienai skyrių grupei taikoma bendra funkcija avg, o rezultatas parodytas žemiau.

Įsakymo apibrėžimas

Užsakymo pagal išlygą naudojamas duomenims, gautiems pagal užklausą surūšiuota tvarka, rodyti. Kaip ir pagal grupę, užsakymo išlyga taip pat naudojama bendradarbiaujant su SELECT sąlyga. Jei nekalbate apie rūšiavimo tvarką, pagal užsakymą pagal straipsnį rūšiuojami duomenys didėjimo tvarka. Jūs galite nurodyti didėjimo tvarka kaip asc ir mažėjančia tvarka kaip desc .

Supraskime Užsakymo pagal sąlygą dirbdami sekančiu pavyzdžiu. Turime Mokytojų lentelę, ir aš pritaikysiu dvi klases „Mokytojo“ lentelės „Skyrius“ ir „Atlyginimai“.

Pasirinkite Departamento_ID, atlyginimo mokytojo pavedimu pagal departamentą_Id asc, atlyginimų desc.

Jūs galite matyti, kad, pirma, jis organizuoja departamentą _ID didėjančia tvarka, o tada organizuoja atlyginimus tame pačiame skyriuje mažėjančia tvarka.

Pagrindiniai skirtumai tarp grupės ir pagal

  1. Grupė pagal sąlygą grupuoja rinkinių rinkinį santykyje, kuris yra pagal SELECT sąlygą. Kita vertus, pagal užsakymą pagal išlygą surūšiuoti užklausos rezultatas didėjančia arba mažėjančia tvarka.
  2. Atributas pagal bendrąją funkciją negali būti pagal grupę pagal grupę, o atributas pagal suvestinę funkciją gali būti pagal pagal užsakymą pagal sąlygą.
  3. Grupių suskirstymas atliekamas pagal panašumų tarp rinkinių atributų reikšmes. Kita vertus, užsakymas arba rūšiavimas atliekamas pagal didėjimo tvarka arba mažėjančia tvarka.

Išvada:

Jei norite sudaryti grupių rinkinį, turite naudoti „Grupės pagal“ sąlygą. Jei norite suskirstyti vieno stulpelio duomenis, arba reikia naudoti daugiau nei vieną stulpelį rinkinių rinkinyje didėjančia arba mažėjančia tvarka, tada reikia naudoti pagal užsakymą pagal sąlygą.

Top