A számítások és következtetések lekérdezések

Az épület számított mezők

Általában ahhoz, hogy hozzon létre egy számított (származtatott) mezők a SELECT listában meg kell határoznia egy SQL kifejezést nyelvet. aritmetikai műveletek hozzáadás használják ezeket a kifejezéseket, kivonás, szorzás és osztás, valamint a beépített funkciók az SQL nyelv. Akkor adja meg a nevét bármely oszlop (mező) a tábla vagy lekérdezés, de csak a nevét az oszlop a tábla vagy lekérdezés meghatározott listán a FROM záradék megfelelő utasításokat. Az építőiparban a komplex kifejezések szüksége lehet fogszabályozó.







SQL szabványok lehetővé teszik egyértelműen meg kell határozni az oszlop nevét az eredmény táblázat, amely kifejezést használta AS.

Példa 6.1. Kiszámítja az összes költség minden tranzakciót. Ez a lekérdezés használja a számítás a kapott oszlopok alapján aritmetikai kifejezéseket.

Példa 6.1. Kiszámításakor a teljes költség minden tranzakciót.

6.2 példa. Kap egy listát a cég nevét és kezdőbetűi az ügyfél.

6.2 példa. Első társaságok listáját a nevét és kezdőbetűi az ügyfél.

A lekérdezés használt beépített bal. Cuts a szöveg változó egy karakterrel balra ebben az esetben.

6.3 példa. Kap egy listát a termékek az év és a hónap az értékesítés.

6.3 példa. Ismerkedés a termékek listáját az év, hónap hirdetést.

A lekérdezés használható beépített funkciók év és hónap, hogy kiemelje az év, hónap napját.

Használata Aggregátumfüggvények

Mert akkor kap egy sor általános statisztikai adatok halmaza kiválasztott kimenet beállított értékeket összefoglaló (összefoglaló) funkciókat az SQL-lekérdezést.

Az alábbi legfontosabb jellemzői:

  • Count (kifejezés) - meghatározza a bejegyzések számát a kimeneti meghatározott SQL-lekérdezés;
  • Min / Max (Expression) - meghatározzuk a legkisebb és a legnagyobb a több értéket egy olyan területen, amelyet a kérés
  • AVG (kifejezés) - Ez a funkció lehetővé teszi, hogy kiszámítja az átlagos egy sor tárolt értékeket egy adott mező által kiválasztott írási kérés. Ez a számtani középérték, azaz értékek összege osztva a számuk.
  • Sum (kifejezés) - összegét számítja ki egy értékrend szereplő egy adott területen rekordok által kiválasztott lekérdezés.

A leggyakoribb kifejezések az oszlop nevek. A kifejezés lehet számítani, és a értéke több asztalt.

Ezek a funkciók mind működnek értékeket egyetlen oszlopban az asztal vagy aritmetikai kifejezés, és visszatér egyetlen értéket. COUNT függvény. MIN és MAX egyaránt alkalmazandó numerikus és nem numerikus mezőket, míg a SUM és AVG funkció csak akkor használható, abban az esetben a mezők száma, kivéve a COUNT (*). A számítás eredményeinek bármilyen funkciót első kizár minden null értékeket, akkor a kért művelet csak a fennmaradó beton oszlop értékeit. Option COUNT (*) - egy speciális esete a COUNT függvény. az a célja, hogy számít az összes sort az eredmények táblázatában, függetlenül attól, hogy tartalmaz-e üres, ismétlődő vagy bármely más értéket.

Ha a kérelem benyújtása előtt az általánosító funkció megszüntetéséhez szükséges ismétlődő értékeket kell elé az oszlop nevét a függvény definíciójában tegye a kulcsszó különbözőek. Ez nincs értelme a MIN és MAX. való alkalmazása azonban befolyásolhatja az eredményeket a funkciók SUM és az AVG. ezért szükséges előzetesen megvizsgálja, hogy jelen kell lennie az egyes esetekben. Ezen túlmenően, a kulcsszó KÜLÖNÁLLÓ megadható bármilyen kérdés többször is.







Fontos megjegyezni, hogy az egyesített funkciók csak akkor használhatók a SELECT listában, és része a HAVING. Minden más esetben, ez elfogadhatatlan. Ha a lista a SELECT záradék tartalmazza az aggregált funkciókat. és a szöveg bizonyos kifejezéseket nem elérhető GROUP BY. adatszolgáltatás integráció a csoport, sem az elemek a SELECT lista nem tartalmaz utalást a mezőket, kivéve a helyzet, amikor a mezők jelennek meg érveit összesítő függvények.

6.4 példa:. Határozzuk meg az első alfabetikus sorrendben termék nevét.

6.4 példa:. Meghatározunk egy első alfabetikus sorrendben a neveket az árut.

Példa 6.5. Határozzuk meg a tranzakciók száma.

Példa 6.5. Határozzuk meg a tranzakciók száma.

Példa 6.6. Határozza meg a teljes összeg az eladott áruk.

Példa 6.6. Meghatározása a teljes összeg az eladott áruk.

Példa 6.7. Határozza meg az átlagos eladott áruk beszerzési.

Példa 6.7. Meghatározása az átlagos ára az eladott áruk.

Példa 6.8. Kiszámítja a teljes eladott áruk beszerzési.

Példa 6.8. Számítás a teljes eladott áruk beszerzési.

GROUP BY záradék

Gyakran lekérdezések kialakításához szükséges közbenső eredmények, amelyek általában megjelennek a megjelenése a keresett kifejezés: „mindenki számára.”. Erre a célra a SELECT utasításban használt GROUP BY. Request, ahol van GROUP BY. csoportosítás kérésére hívják, mert csoportosított adatokat elvégzésével SELECT művelet. Ezután minden csoport létrehoz egy összefoglaló sor. Szabványos SQL előírja, hogy a SELECT és GROUP BY záradék szorosan összekapcsolódik. A jelenléte a SELECT GROUP BY záradék, minden eleme a listát a SELECT záradék nek egyetlen érték az egész csoportot. Sőt, a SELECT utasításban lehetnek csak a következő típusú elemek: a mezők nevét, az utolsó funkció. állandók és kifejezések, amelyek tartalmazzák a fentiek kombinációi elemek.

Minden mezőneveknek szerepel a SELECT listában. Meg kell jelen lennie a mondat GROUP BY - kivéve azokat az eseteket, amikor az oszlop nevét használják az aggregált funkciót. Ennek a fordítottja is igaz, általában nem - a GROUP BY záradék lehet oszlop nevek, amelyek nem szerepelnek a SELECT listában.

Ha együtt a GROUP BY használ WHERE záradékot. azt feldolgozzák az első, és a csoportosulás alá csak azokat a sorokat, amelyek megfelelnek a keresési feltételt.

SQL szabvány állapítja meg, hogy közben csoportosító összes hiányzó értékeket tekintettük egyenlő. Ha két sor a táblázat az azonos csoportosított oszlop tartalmazza a értéke NULL és azonos értékeket minden más, nem üres oszlopok csoportosítva, ezek helyezkednek el ugyanabban a csoportban.

Példa 6.9. Számítsa ki az átlagos térfogatát vásárlások által egyes ügyfelek.

Példa 6.9. Számítsa ki az átlagos térfogatát vásárlások által egyes ügyfelek.

A „minden ügyfél” tükröződik SQL-lekérdezés formájában GROUP BY záradék Klient.Familiya.

Példa 6.10. Határozza meg, milyen mennyiségben értékesített az egyes elemeket.

Példa 6.10. Annak meghatározása, hogy milyen mennyiségű eladott az egyes elemeket.

Példa 6.11. Számolja a tranzakciók száma, amelyet minden egyes cég.

Példa 6.11. Számítva a tranzakciók száma, amelyet minden egyes cég.

Példa 6.12. Count az összes vásárolt minden cég termék és annak költségeit.

Példa 6.12. Számlálása az összes vásárolt minden cég termék és annak költségeit.

Példa 6.13. Határozza meg a teljes költség az egyes tételek havonta.

Példa 6.13. Meghatározása a teljes költség az egyes tételek havonta.

Példa 6.14. Határozza meg a teljes költség minden egyes darabjának első osztályú minden hónapban.

Példa 6.14. Meghatározása a teljes értékét minden egyes tétel első osztályú minden hónapban.

HAVING

Azzal, mindenki által elismert korábban csoportosított adat blokkok GROUP BY, hogy meg kellene felelniük meghatározott feltételek mellett. Ez egy további lehetőség, hogy „szűrt” papírra.

AZZAL feltételek eltérnek a feltételek a WHERE:

  • RENDELKEZŐ kizárja az eredményül kapott készlete csoport értékek az eredménnyel összesített adatok;
  • AHOL kizárja a kiszámítása az összesített értékeket csoportosításával bejegyzések, amelyek nem felelnek meg a feltételt;
  • a WHERE keresés nem lehet megadni összesítő függvények.

Példa 6.15. Határozza meg a vállalkozás, amelyben az összes tranzakció száma meghaladta a hármat.

Példa 6.15. Meghatározása a cégek, amelyek az összes tranzakció száma meghaladta a hármat.

Példa 6.16. Nyomtatási lista az eladott áruk mennyiségének több mint 10.000 rubelt.

Példa 6.16. Következtetés lista eladott termékek meghaladó 10.000 rubelt.

Példa 6,17. Nyomtatási lista az eladott áruk mennyiségének több mint 10.000 megadása nélkül az összeget.

Példa 6,17. Nyomtató listán eladott áruk mennyiségének több mint 10.000 megadása nélkül az összeget.