Dátumtáblázat létrehozása a LuckyTemplates alkalmazásban
Tudja meg, miért fontos egy dedikált dátumtáblázat a LuckyTemplatesben, és ismerje meg ennek leggyorsabb és leghatékonyabb módját.
Ebben az oktatóanyagban meg fogunk beszélni néhány módról, amelyekkel használhatjuk vagy hajthatjuk végre a HAVING záradékot SQL összesítő függvényekben . Ennek a záradéknak az SQL összesítő függvényekben való használata nagyban segíthet az adatok összegzésében.
A HAVING záradék majdnem hasonló a WHERE utasításhoz, és azzal együtt is végrehajtható.
Ezek összefüggéseit és különbségeit példák bemutatásával fogjuk megvitatni az oktatóanyagban.
Tartalomjegyzék
CSOPORTOSÍTÁS SZERINT ÉS HOL Kijelentések SQL-ben
Első példánkban az alábbi mintatáblázat végrehajtását és használatát tárgyaljuk . Kérjük, vegye figyelembe, hogy a WHERE záradékot csak meglévő oszlopokkal használhatjuk , csak összesített függvényekben nem.
Tegyük fel, hogy egy termék összes értékesítését a SaleAmount oszlop alapján szeretnénk megkapni, ahol az érték nagyobb, mint 2 . Az eredmény eléréséhez a parancsunknak a következőnek kell lennie:
Először kiválasztjuk a ProductName-t , és összesítjük a SaleAmount-ot , hogy megkapjuk a TotalSales-t.
Ezután itt a WHERE utasítást használtuk, mivel csak azokat a termékeket próbáljuk megszerezni, amelyeknél a SaleAmount nagyobb, mint 2. A 'GROUP BY ProductName' parancs azt jelzi, hogy a ProductName oszlop alatti sorokat egybe fogja csoportosítani .
A parancskészletünk végrehajtásával látni fogjuk, hogy a ProductName és SaleAmount oszlopok összes adata közül csak a Bulb és a Ventilátor jelent meg . Ez azért van így, mert ők voltak az egyetlenek, akiknek a SaleAmount értéke nagyobb, mint 2.
Ebben a példában a WHERE utasítás az eredmények szűrésére szolgál egy meglévő oszloppal, amely a SaleAmount . Vegye figyelembe azt is, hogy a WHERE utasítás a GROUP BY előtt jelenik meg , és nem használható az összesített függvények szűrésére. Másrészt a HAVING záradék a GROUP BY után jelenik meg , és az összesítő függvényen alapuló szűrésre szolgál.
GROUP BY és HAVING záradék az SQL-ben
Ebben a példában bemutatjuk a különbséget a WHERE utasítás és a HAVING záradék között. Ugyanazt a célt fogjuk használni, mint az előző példában, hogy összehasonlíthassuk és értékelhessük az eredményeket.
Először jelenítsük meg a termékeket a teljes eladásukkal együtt az alábbi paranccsal. Amint láthatja, az első parancsunk továbbra is ugyanaz, mint a WHERE utasítást végrehajtó első parancsunk.
Ha az első két parancsot akarjuk végrehajtani, a következő eredményt kapjuk:
Tegyük fel, hogy csak azokat a termékeket szeretnénk megjeleníteni, amelyek összértékesítése meghaladja az 5-öt. A WHERE utasítást nem használhatjuk, mivel csak meglévő oszlopokkal használható. Ezért használnunk kell a HAVING záradékot, mivel aggregált függvényből fogunk szűrni.
Figyelje meg, hogyan használjuk a HAVING záradékot a GROUP BY után , ellentétben a GROUP BY előtt használt WHERE utasítással. Ennek az az oka, hogy az SQL csoportosítja a rekordokat, mielőtt kiértékelné a HAVING záradékot.
Ezután hajtsuk végre ezeket a parancsokat a HAVING SUM(SaleAmount)>5 paraméterrel . Miután megadtuk, hogy csak azokat a termékeket szeretnénk beszerezni, amelyek összára meghaladja az 5-öt, észrevesszük, hogy a jelenlegi eredménytáblázatunkban már nem fogjuk látni a tollat . Ez azért van, mert a teljes összege kevesebb, mint 5 .
Röviden, ha adatokat szeretnénk szűrni a táblázatunkból egy meglévő oszlop alapján, akkor a WHERE záradékot használjuk , míg ha egy összesítő függvényből szeretnénk adatokat szűrni, akkor a HAVING záradékot használjuk .
HAVING and WHERE záradék az SQL Server Management Studio-ban (SSMS)
Most továbblépünk azzal, hogy megvitatjuk és bemutatjuk, hogyan hajthatjuk végre a HAVING záradékot az (SSMS)-ben. Példák bemutatásával foglalkozunk a HAVING és a WHERE záradék közötti különbséggel is.
Az alábbiakban a SalesOrderHeader mintaadataink láthatók . Ez az adat 100 sorból áll . Példánkban a TotalSale-t szeretnénk megkapni Ügyfélazonosítóval , ahol a TotalSale nagyobb, mint 10000 . Vegye figyelembe, hogy a teljes értékesítés a TotalDue oszlop értékeinek összegén alapul .
Először is hadd mutassam be, miért nem használhatjuk a WHERE záradékot , amikor a fenti példánk alapján egy összesített függvényre akarunk szűrni.
Az alábbi képen látható mintaparancskészletet fogjuk használni. Amint látja, technikailag ugyanaz a parancskészletünk, mint az első példánkból.
Ha azonban a bal felső sarokban lévő Execute gombra kattintunk , az hibát fog eredményezni, mert nem tudjuk egyedül használni a WHERE záradékot, amikor az összesítő függvényen szűrünk.
A hiba kijavításához az eredményt a HAVING záradékkal kell szűrnünk a WHERE záradék helyett . Az új parancskészletünknek hasonlónak kell lennie az alábbi képhez.
Most láthatjuk, hogy a hibánkat kijavították, és az eredményeket tartalmazza10000- nél nagyobb TotalSale- vel .
A WHERE záradékot mindig a GROUP BY záradék előtt , míg a HAVING záradékot mindig a GROUP BY záradék után használjuk .
A HAVING és a WHERE záradék használata SQL-ben
Ebben a példában tegyük fel, hogy egyszerre szeretnénk használni a WHERE és a HAVING záradékot . Próbáljuk meg lekérni a TotalSale-t Ügyfélazonosítóval , ahol a TotalSale nagyobb, mint 10000 , de csak azokkal az ügyfelekkel, akiknek területazonosítójuk 1 .
Mivel olyan ügyfelekre szeretnénk szűrni az eredményeket, akiknek Területazonosítójuk 1 , a WHERE záradékot fogjuk használni . Tehát a parancsunknak meg kell egyeznie az előzővel. Ismét hozzáadtunk egy WHERE záradékot a GROUP BY záradék elé .
Egyelőre nem látunk nagy különbséget az előző és az új eredmény között. Ha azonban alaposan megnézi a jobb alsó sarkot, most már csak 64 sorunk van , szemben az előző 505 soros adatsorral. Ennek az az oka, hogy az eredményeket a rendszer a területazonosítójuk alapján is szűri .
Következtetés
Összefoglalva, a WHERE záradékot csak meglévő oszlopoknál használhatjuk . Ha összesített függvényekkel kell szűrnünk, akkor helyette a HAVING záradékot kell használnunk.
A HAVING záradék használata az SQL összesítő függvényeiben, valamint a HAVING és a WHERE záradék együttes végrehajtásának gyakorlása kényelmesebbé teheti a felhasználókat, amikor nagyszámú adattal vagy rekorddal dolgoznak.
Remélem, elegendő információt és megértést adtam a HAVING záradék használatához az SQL összesítő függvényeiben. Ha többet szeretne megtudni erről a témáról és más kapcsolódó tartalomról, tekintse meg a vonatkozó linkek alábbi listáját.
Minden jót,
Hafiz
Tudja meg, miért fontos egy dedikált dátumtáblázat a LuckyTemplatesben, és ismerje meg ennek leggyorsabb és leghatékonyabb módját.
Ez a rövid oktatóanyag kiemeli a LuckyTemplates mobil jelentési funkcióját. Megmutatom, hogyan készíthet hatékony jelentéseket mobileszközökön.
Ebben a LuckyTemplates bemutatóban olyan jelentéseket tekintünk át, amelyek professzionális szolgáltatáselemzést mutatnak be egy olyan cégtől, amely több szerződéssel és ügyfél-elkötelezettséggel rendelkezik.
Tekintse át a Power Apps és a Power Automate legfontosabb frissítéseit, valamint azok előnyeit és következményeit a Microsoft Power Platform számára.
Fedezzen fel néhány gyakori SQL-függvényt, amelyeket használhatunk, például a karakterláncot, a dátumot és néhány speciális függvényt az adatok feldolgozásához vagy manipulálásához.
Ebből az oktatóanyagból megtudhatja, hogyan hozhatja létre a tökéletes LuckyTemplates sablont, amely az Ön igényeinek és preferenciáinak megfelelően van konfigurálva.
Ebben a blogban bemutatjuk, hogyan lehet a mezőparamétereket kis többszörösekkel rétegezni, hogy hihetetlenül hasznos betekintést és látványelemeket hozzon létre.
Ebből a blogból megtudhatja, hogyan használhatja a LuckyTemplates rangsorolási és egyéni csoportosítási funkcióit a mintaadatok szegmentálására és kritériumok szerinti rangsorolására.
Ebben az oktatóanyagban egy konkrét technikát fogok bemutatni, hogyan jelenítheti meg a kumulatív összeget csak egy adott dátumig a LuckyTemplates vizualizációjában.
Ismerje meg, hogyan hozhat létre és testreszabhat Bullet diagramokat a LuckyTemplates alkalmazásban, amelyeket főként a teljesítmény mérésére használnak a célhoz vagy az előző évekhez képest.