A MySQL HAVING záradékának használata, ahol az összeg nagyobb, mint a küszöb

A Mysql Having Zaradekanak Hasznalata Ahol Az Osszeg Nagyobb Mint A Kuszob



Amikor MySQL adatbázissal dolgozik, gyakran előfordul, hogy szűrni szeretné az értékeket. Bár használhatja a WHERE záradékot, nem mindig működik minden esetben. A HAVING záradékot akkor használjuk, ha szűrőlekérdezést szeretne végrehajtani egy összesítő függvény használatával, és alkalmazni kívánja a csoportosításokat.

A HAVING záradék a szűrőjében lévő GROUP BY záradékra támaszkodik, és a megadott feltétel alapján végrehajtja a lekérdezést. A feltétel alapján korlátozza a szűrőt, és csak akkor adja vissza a kiválasztott csoportokat, ha megfelelnek a feltételnek. Vannak példáink a MySQL HAVING záradék használatára, ahol az összeg meghaladja a küszöböt. Így a mai bejegyzés végén elsajátíthatja, hogyan kell használni.







A MySQL HAVING záradékának használata, ahol az összeg nagyobb, mint a küszöb

A MySQL HAVING záradékot a GROUP BY záradékkal együtt alkalmazza. A szintaxisa a következő:



SELECT kifejezés1, .. kifejezés_n, aggregate_func (kifejezés) FROM tábla_név GROUP BY kifejezés HAVING ;

Használhatja a különböző összesítő függvényeket, beleértve a SUM(), COUNT(), MIN(), MAX() és AVG() függvényeket. Vegye figyelembe, hogy minden olyan kifejezést, amelyet nem használ az összesítő függvénnyel, meg kell említeni a GROUP BY záradékkal.



Ami a feltételt illeti, az összesített eredményekre vonatkozik, ahol megadja a feltétellel ellenőrizni kívánt küszöbértéket. Például alkalmazhatja a SUM() függvényt, és ellenőrizheti, hogy a kifejezés eléri-e a 10-es küszöböt. A megadott példákból többet megtudhatunk róla.





A HAVING záradék működésének megértéséhez hozzunk létre egy mintaadatbázist, amellyel dolgozni fogunk. Adatbázisunkat „regiszternek” nevezzük.



Hozzunk létre egy „dolgozók” nevű táblát is, amely tartalmazza a különböző oszlopainkat és adattípusainkat. Itt a dolgozók adataival dolgozunk, mint a név, óra, munkaidő stb.

A táblázatunk leírásának ellenőrzésével megbizonyosodhatunk arról, hogy minden oszlop sikeresen létrejött.

Az értékeket beillesztjük a táblázatunkba. Különböző munkavállalóink ​​vannak, akik különböző órákban és napokon dolgoznak. Ezen adatok felhasználásával a HAVING záradékot alkalmazhatjuk ott, ahol az összeg meghaladja a küszöböt.

Első példánkban vegyünk egy esetet, amikor meg akarjuk találni azokat a dolgozókat, akik a legtöbb órát dolgoztak. A HAVING záradékhoz tartalmazza az órákra vonatkozó összesítő függvényt. A GROUP BY záradékban a sorokat a névsor használatával csoportosítjuk, hogy segítsük a küszöbértéknél nagyobb munkaórákkal rendelkező dolgozók osztályozását.

Ha az összes óra küszöbértéke 7, akkor a következőképpen hajtjuk végre a parancsot:

SELECT név, SUM(óra) AS összesen_óra_per_fő FROM dolgozók GROUP BY név HAVING összeg(óra) > 7;

A parancs végrehajtásával olyan kimenetet kapunk, amely két sort tartalmaz, mivel csak két dolgozó lépte át a HAVING záradékban megadott küszöböt.

Tegyük fel, hogy az osztályokat úgy szeretnénk besorolni, hogy lássuk azokat a dolgozókat, akik a 7 órás küszöbnél többet dolgoznak. Kiválasztjuk az osztályt, majd a SUM összesítő függvényt használjuk az órákkal, és csoportosítjuk a sorokat az osztálykifejezés segítségével.

Parancsunk a következő:

SELECT osztály, SUM(óra) AS összesen_óra_osztályonként FROM dolgozók GROUP BY osztály HAVING összeg(óra) > 7;

Az eredményekből ellenőrizhetjük, hogy sikerült-e kiszűrnünk a sorokat úgy, hogy csak azokat hagyjuk meg, akiknek az órák összege nagyobb, mint a mi küszöbünk.

Hasonlóképpen, ha azt a munkaidőt akarjuk szűrni, ahol a legtöbb dolgozó dolgozik, hogy túllépje a 10 órás küszöböt, akkor a munkadátum kifejezést választjuk. Ezután a SUM függvényt használjuk az órákkal, és csoportosítjuk a sorokat a munkadátum alapján.

A parancs a következő:

SELECT munkadátum, SUM(óra) AS legmagasabb_ledolgozott_órák FROM dolgozók GROUP BY munkadátum HAAVING összeg(óra) > 10;

A parancs végrehajtása után az eredmények azt mutatják, hogy csak egy munkanap összessége meghaladja a küszöböt:

Következtetés

A MySQL HAVING záradékot akkor használjuk, ha szűrőlekérdezést szeretne végrehajtani egy összesítő függvény használatával. A GROUP BY záradékkal kombinálva specifikusabb lekérdezést hajt végre. Ez a bejegyzés mindent részletezett a MySQL HAVING záradékkal kapcsolatban, ahol az összeg nagyobb, mint a küszöb. A megadott példák segítségével most már megértheti, hogyan kell dolgozni a MySQL HAVING záradékkal.