Kuinka käyttää MySQL HAVING -lausetta, jos summa on suurempi kuin kynnys

Kuinka Kayttaa Mysql Having Lausetta Jos Summa On Suurempi Kuin Kynnys



Kun työskentelet MySQL-tietokannan kanssa, sinulla on usein tapauksia, joissa haluat suodattaa arvot. Vaikka voit käyttää WHERE-lausetta, se ei aina toimi kaikissa tapauksissa. HAVING-lausetta käytetään, kun haluat suorittaa suodatuskyselyn koontifunktiolla ja käyttää ryhmittelyjä.

HAVING-lause luottaa GROUP BY -lauseeseen suodattimessaan ja suorittaa kyselyn tarjotun ehdon perusteella. Se rajoittaa suodatinta ehdon perusteella ja palauttaa valitut ryhmät vain, jos ne täyttävät ehdon. Meillä on esimerkkejä MySQL HAVING -lauseen käytöstä, kun summa ylittää kynnyksen. Tällä tavalla opit käyttämään sitä tämän päivän postauksen lopussa.





Kuinka käyttää MySQL HAVING -lausetta, jos summa on suurempi kuin kynnys

Käytät MySQL HAVING -lausetta GROUP BY -lauseen kanssa. Sen syntaksi on seuraava:



SELECT lauseke1, .. lauseke_n, aggregate_func (lauseke) FROM taulukon_nimi GROUP BY lauseke HAVING ;

Voit käyttää erilaisia ​​koontifunktioita, kuten SUM(), COUNT(), MIN(), MAX() ja AVG(). Huomaa, että kaikki lausekkeet, joita ei käytetä koostefunktion kanssa, on mainittava GROUP BY -lauseen kanssa.



Mitä tulee ehtoon, sitä sovelletaan yhdistettyihin tuloksiin, joissa määrität kynnyksen, jonka haluat tarkistaa ehdolla. Voit esimerkiksi käyttää SUM()-funktiota ja tarkistaa, saavuttaako lauseke kynnyksen 10. Ymmärrämme siitä enemmän annetuista esimerkeistä.





Ymmärtääksemme, kuinka HAVING-lauseke toimii, luodaan esimerkkitietokanta, jonka kanssa työskentelemme. Nimeämme tietokantaamme nimellä 'rekisteri'.



Luodaan myös taulukko nimeltä 'työntekijät', joka sisältää erilaiset sarakkeet ja tietotyypit. Täällä työskentelemme työntekijöiden tietojen, kuten nimen, tunnin, työpäivän jne., kanssa.

Tarkistamalla taulukkomme kuvauksen voimme varmistaa, että kaikki sarakkeet on luotu onnistuneesti.

Lisäämme arvot taulukkoomme. Meillä on erilaisia ​​työntekijöitä, jotka työskentelevät eri kellonaikoina ja päivinä. Näitä tietoja käyttämällä voimme soveltaa HAVING-lauseketta, kun summa ylittää kynnyksen.

Ensimmäisessä esimerkissämme tarkastellaan tapausta, jossa haluamme löytää eniten työtunteja tehneet työntekijät. Sisällytä HAVING-lauseeseen tuntien summa-aggregaattifunktio. GROUP BY -lauseessa ryhmittelemme rivit nimirivin avulla helpottaaksemme työntekijöiden luokittelua, joiden kokonaistuntimäärä on suurempi kuin kynnys.

Jos meillä on kokonaistuntien kynnys 7, suoritamme komentomme seuraavasti:

SELECT nimi, SUM(tuntia) AS yhteensä_tuntia_per_henkilö FROM työntekijöiltä GROUP BY nimellä HAVING summa(tuntia) > 7;

Suorittamalla komennon saamme tulosteen, joka sisältää kaksi riviä, koska vain kaksi työntekijää ylitti HAVING-lauseessa määritellyn kynnyksen.

Oletetaan, että haluamme luokitella osastot niin, että nähdään ne, joiden työntekijät työskentelevät yli 7 tunnin kynnyksen. Valitsemme osaston, käytämme sitten SUM-aggregate-funktiota tuntien kanssa ja ryhmitämme rivit osastolausekkeen avulla.

Käskymme on seuraava:

SELECT osasto, SUM(tuntia) AS yhteensä_tuntia_yksikköä kohti FROM työntekijöiltä GROUP BY osastolta HAVING summa(tuntia) > 7;

Tuloksista voimme varmistaa, että onnistuimme suodattamaan rivit jättämään vain ne, joiden tuntien summa ylittää kynnyksemme.

Vastaavasti, jos haluamme suodattaa työpäivän, jossa on eniten työntekijöitä yli 10 tunnin kynnyksen, valitsemme työpäivälausekkeen. Sitten käytämme SUM-funktiota tunneilla ja ryhmittelemme rivit työpäivämäärän mukaan.

Komento on seuraava:

VALITSE työpäivämäärä, SUMMA(tuntia) AS korkein_työtuntimäärä FROM työntekijöiltä GROUP BY työpäivämäärä ON summa(tuntia) > 10;

Komennon suorittamisen jälkeen tulokset osoittavat, että vain yhden työpäivän kokonaistuntien summa ylittää kynnyksen:

Johtopäätös

MySQL HAVING -lausetta käytetään, kun haluat suorittaa suodatuskyselyn koontifunktiolla. Se yhdistetään GROUP BY -lauseeseen tarkemman kyselyn suorittamiseksi. Tämä viesti kertoi yksityiskohtaisesti kaiken MySQL HAVING -lauseesta, jossa summa on suurempi kuin kynnys. Annettujen esimerkkien avulla ymmärrät nyt, kuinka MySQL HAVING -lausetta käytetään.