logo

GROUP BY vs. ORDER BY

Tämä artikkeli selittää täydellisen yleiskatsauksen GROUP BY- ja ORDER BY -lausekkeista. Niitä käytetään pääasiassa SQL-kyselyillä saadun tiedon järjestämiseen. Näiden lauseiden välinen ero on yksi yleisimmistä paikoista, joissa jumiutua oppimisen aikana SQL . Tärkein ero niiden välillä on se GROUP BY -lausetta voidaan soveltaa, kun haluamme käyttää koostefunktioita useammalle kuin yhdelle rivijoukolle. ORDER BY -lausetta sovelletaan, kun haluamme saada kyselyllä saadut tiedot lajittelujärjestyksessä . Ennen vertailun tekemistä tunnemme ensin nämä SQL-lauseet.

GROUP BY vs. ORDER BY

TILAA lausekkeen mukaan

ORDER BY -lausetta käytetään SQL-kyselyissä lajittelemaan kyselyn palauttamat tiedot nousevaan tai laskevaan järjestykseen. Jos jätämme pois lajittelujärjestyksen, se lajittelee yhteenvedon tuloksen oletusarvoisesti nousevaan järjestykseen. ORDER BY -lausetta, kuten GROUP BY -lausetta, voidaan käyttää yhdessä SELECT-käskyn kanssa. ASC tarkoittaa nousevaa järjestystä, while DESC tarkoittaa laskevaa järjestystä.

Seuraava on syntaksi ORDER BY -lauseen käyttämiselle SQL-käskyssä:

c++ muuntaa in merkkijonoksi
 SELECT expressions FROM tables [WHERE conditions] ORDER BY expression [ ASC | DESC ]; 

Ymmärrämme, miten ORDER BY -lause toimii seuraavan esimerkin avulla. Oletetaan, että meillä on pöytä kehittäjä joka sisältää seuraavat tiedot:

GROUP BY vs. ORDER BY

Näemme, että näitä tuloksia ei näytetä järjestelmällisesti. Oletetaan, että haluamme järjestää tulokset nousevaan tai laskevaan järjestykseen perustuen valtion sarake . Siinä tapauksessa tarvitsemme ORDER BY -komennon saadaksemme halutun tuloksen. Voimme tehdä tämän suorittamalla komennon seuraavasti:

 mysql> SELECT D_name, D_state, D_salary FROM developers ORDER BY D_state ASC; 

Tässä on tulos, josta saamme halutut tulokset:

GROUP BY vs. ORDER BY

GROUP BY Clause

GROUP BY -lausetta käytetään SQL-kyselyissä järjestämään tietoja, joilla on samat attribuuttiarvot. Yleensä käytämme sitä SELECT-käskyn kanssa. On aina muistettava, että meidän on sijoitettava GROUP BY -lause WHERE-lauseen perään. Lisäksi se on tahdistettu ennen ORDER BY -lauseketta.

Voimme usein käyttää tätä lauseketta yhdessä aggregaattifunktioiden, kuten SUM, AVG, MIN, MAX ja COUNT, kanssa tuottaaksemme yhteenvetoraportteja tietokannasta. On tärkeää muistaa, että tämän lauseen attribuutin tulee esiintyä SELECT-lauseessa, ei koontifunktion alla. Jos teemme niin, kysely olisi virheellinen. Tämän seurauksena GROUP BY -lausetta käytetään aina yhdessä SELECT-lauseen kanssa. GROUP BY -lauseen kysely on ryhmitelty kysely, ja se palauttaa yhden rivin jokaiselle ryhmitetylle objektille.

sql ddl -komennot

Seuraava on syntaksi GROUP BY -lauseen käyttämiselle SQL-käskyssä:

 SELECT column_name, function(column_name) FROM table_name WHERE condition GROUP BY column_name; 

Ymmärrämme esimerkin avulla, kuinka GROUP BY -lause toimii. Tässä esittelemme sen samalla taulukolla.

Oletetaan, että haluamme tietää kehittäjän keskipalkka tietyssä osavaltiossa ja järjestää tulokset laskevaan järjestykseen tilasarakkeen perusteella. Siinä tapauksessa tarvitsemme sekä GROUP BY- että ORDER BY -komennon saadaksemme halutun tuloksen. Voimme tehdä tämän suorittamalla komennon seuraavasti:

 mysql> SELECT D_state, avg(D_salary) AS salary FROM developers GROUP BY D_state ORDER BY D_state DESC; 

Tämä kysely muodosti alun perin välituloksen, joka on ryhmitellyt tilan. Seuraavaksi, AVG toiminto suoritetaan jokaiselle tilaryhmälle, lajittele sitten tulos laskevaan järjestykseen ja lopuksi saamme halutut tulokset alla olevan kuvan mukaisesti:

GROUP BY vs. ORDER BY

Keskeiset erot GROUP BY:n ja ORDER BY:n välillä

Seuraavat ovat tärkeimmät erot Group By- ja Order By -lausekkeen välillä:

  • Group By -lausetta käytetään tietojen ryhmittelyyn tietyn sarakkeen saman arvon perusteella. ORDER BY -lause puolestaan ​​lajittelee tuloksen ja näyttää sen nousevassa tai laskevassa järjestyksessä.
  • Ryhmäperusteen käyttäminen on pakollista koontifunktion käyttäminen. Toisaalta ei ole pakollista käyttää koontifunktiota Tilausperusteen käyttämiseen.
  • Attribuutti ei voi olla GROUP BY -käskyn alla koostefunktiossa, kun taas attribuutti voi olla ORDER BY -käskyn alla koostefunktiossa.
  • Group By -lause ohjaa monikoiden esitystapaa, mikä tarkoittaa, että ryhmittely tehdään rivin attribuuttiarvojen samankaltaisuuden perusteella. Sitä vastoin ORDER BY -lause ohjaa sarakkeiden esitystapaa, mikä tarkoittaa, että järjestys tai lajittelu tapahtuu sarakkeen attribuuttiarvojen perusteella joko nousevassa tai laskevassa järjestyksessä.
  • GROUP BY sijoitetaan aina WHERE-lauseen jälkeen, mutta ennen ORDER BY -lausetta. Toisaalta ORDER BY:tä käytetään aina GROUP BY -käskyn jälkeen.

GROUP BY vs. ORDER BY -vertailukaavio

Seuraava vertailukaavio selittää niiden tärkeimmät erot nopeasti:

SN GROUP BY TILAA
1. Sitä käytetään ryhmittelemään rivit, joilla on samat arvot. Se lajittelee tulosjoukon joko nousevaan tai laskevaan järjestykseen.
2. Se voidaan sallia CREATE VIEW -käskyssä. Se ei ole sallittu CREATE VIEW -käskyssä
3. Se ohjaa rivien esitystapaa. Se ohjaa sarakkeiden esitystapaa.
4. Attribuutti ei voi olla GROUP BY -käskyn koontifunktion alla. Attribuutti voi olla ORDER BY -käskyn aggregate-funktion alla.
5. Sitä käytetään aina ennen ORDER BY -lausetta SELECT-käskyssä. Sitä käytetään aina GROUP BY -lauseen jälkeen SELECT-käskyssä.
6. Aggregaattifunktioiden käyttö GROUP BY:ssä on pakollista. Aggregaattifunktioiden käyttäminen ORDER BY:ssä ei ole pakollista.
7. Tässä ryhmittely tehdään rivin attribuuttiarvojen samankaltaisuuden perusteella. Tässä tulosjoukko lajitellaan sarakkeen attribuuttiarvojen perusteella joko nousevaan tai laskevaan järjestykseen.

Johtopäätös

GROUP BY- ja ORDER BY -lauseita verrataan tässä artikkelissa. Molemmat lausekkeet ovat erittäin hyödyllisiä SQL-tietokantaominaisuuksia. Kun haluamme muodostaa ryhmän riveistä, käytämme GROUP BY -lausetta. Jos haluamme järjestää tiedot nousevaan tai laskevaan järjestykseen tietyn sarakkeen perusteella, käytämme ORDER BY -lausetta. Heillä ei ole mitään suhdetta, koska molempia käytetään kahteen eri tarkoitukseen. Voimme kuitenkin yhdistää niitä johonkin erityiseen tarkoitukseen tai käyttää niitä yksitellen olosuhteista riippuen. Voimme käyttää näitä lauseita vain SELECT-käskyn kanssa.

instantoitu java