Postgresql összesítő függvények
Varianciáját adja vissza expressziós értékeket a csoport
Az alábbiakban részletes leírások minden összesítő függvények, konkrét információkat a funkciók használatát, példákkal és a megengedett típusú bemeneti adatok. Az alábbi leírásban a a kifejezés bármilyen azonosító az eredmény meg, vagy bármilyen érvényes kifejezés, amely végrehajt egy műveletet ilyen azonosítóval.
Amikor meghívunk egy összesítő függvény átkerül egy összesített kifejezés vonatkozik bejegyzések által létrehozott SELECT. A struktúrájában, az aggregált kifejezések hasonlóak a hagyományos kifejezések SQL, de lehet kezdeni az ALL kulcsszó vagy külön-külön.
Ha meg a kulcsszót DISTINCT működnek egyetlen olyan csoport, egyedi értékeket az aggregátum kifejezéseket csoportok ismétlődő értékeket figyelmen kívül hagyja. Az ALL kulcsszó, mint a SELECT, csak egyértelműen jelzi az a tény, hogy az a kifejezés, hogy az összes csoport. 5,19 felsorolása példák különböző formáinak megnyilvánulásai aggregáció.
Listing 5.19. Használata aggregált kifejezések
booktown = # SELECT count (location) AS setjocations,
booktown- # count (ALL hely) AS all_set_locations,
booktown- # count (külön helyszínen) AS unique_locations,
booktown- # count (*) AS all_rows booktown- # egyénekből;
setjocations | all_set_locations | uniquejocations all_rows
Összességében kifejezések ez is egy speciális formája kimutatható az oszlop kimeneti 5,19 al l_rows tőzsdei adatokat. Ha a hívást át egy összesítő függvény egy csillag (*), ez azt jelenti, hogy a függvény a folyamat minden területen, beleértve a elhanyagolták mezők NULL értékeket. Mivel tárgyak asztalra egy rekordot tartalmaz, amely a területen található, egyenlő NULL, a gróf területén rekord 1 ocati az eltér a számlálás eredménye ugyanaz nulla szimbólum használatával *.
Bejegyzések, amelyek összességében kifejezés magában foglal egy NULL, nem dolgozza fel összesítő függvények (kivétel a count () függvényt.
AVG () függvény megkapja az aggregált kifejezés arra utal, hogy bármilyen eredmény a numerikus típus (szám, bigint, smallint valós vagy dupla pontosságú), vagy az intervallum típus.
A függvény az átlagos összes leírt kifejező adatokat. Visszatérési érték tárgya numerikus típusú expresszáltatására típusú egész szám vagy egy kétszeres pontosságú típusonként valós kifejezéseket. Más esetekben a visszatérési típusa megegyezik a típusú kifejezés.
booktown = # SELECT AVG (költség) AS average_cost,
booktown- # avg (kiskereskedelmi) AS Átlagos_ár,
booktown- # avg (lakossági - költség) AS average_profit
booktown- # raktárról:
average_cost | Átlagos_ár | average_prof1t
24,8235294118 | 30,0088235294 5,1852941176
X> oktown = # SELECT avg (költség)
AS average_cost, p.name kiadójaként
booktown- # raktárról REGISZTRÁCIÓ kiadásban HASZNÁLATA (ISBN))
booktown-l REGISZTRÁCIÓ kiadók, mint P (publisheMd)
booktown- # HASZNÁLATA (publisheMd)
booktown- # GROUP BY p.name;
26,5000000000 | Ace Books
19,0000000000 | Books of Wonder
26,5000000000 I Doubleday
18,0000000000 | Henry Holt Company. Inc.
23,0000000000 I gyerekek Press
23,0000000000 | mojo Press
20,0000000000 I Penguin
23,0000000000 Random House
26,0000000000 | Watson-Guptill Publications
countO függvény értékek számát, amelyre a kifejezés értéke nem nulla. Típusú kifejezés nem korlátozódik. Emlékeztetni kell arra, hogy a count () függvény számít csak érték kivételével NULL, így értékelhető eredmények kifejezést használta nem NULL számlálási rekordokat.
Ha a hívás count () át a * szimbólum, a funkció egyszerűen számít valamennyi nyilvántartás, beleértve azokat, amelyek NULL.
booktown = # SELECT countC *) FROM kiadásban;
booktown = # SELECT count (ISBN). p.name
booktown- # FROM kiadásban REGISZTRÁCIÓ kiadók AS p (publisheMd)
booktown- # HASZNÁLATA (publisheMd)
booktown- # GROUP BY p.name
booktown- # ORDER BY száma DESC;
3. | random House
1 | Books of Wonder
1 | Henry Holt Company. Inc.
1 | Kids lenyomhatja
1 | O'Reilly Associates
1 | Watson-Gupti11 Publications
max () függvény a maximális értéke a kifejezés a csoportban. kifejezés lehet az eredménye az érték minden numerikus vagy string típusú, és írja be a dátumot és az időt. A visszatérési típusa megegyezik a típusú kifejezés.
booktown = # SELECT max (költség), max (kiskereskedelmi) raktárról;
booktown = # SELECT max (kiskereskedelmi), p.name
booktown- # FROM (készletek NATURAL JOIN kiadás)
booktown- # REGISZTRÁCIÓ kiadók AS p (PUBLISHER_ID)
booktown- # HASZNÁLATA (publisherjd)
booktown- # GROUP BY p.name
booktown- # ORDER BY max DESC;
45.95 i Ace Books 36.95 Doubleday 32.95
Random House 28.95 HarperCollins
28.95 I Watson-Guptill Publications
24.95 | mojo Press
23.95 1 Henry Holt Company. Inc. 23.95
Gyerekek megnyomhatja 21.95 Books of Wonder
min () függvény a minimális értéke a kifejezés a csoportban. kifejezés lehet az eredménye az érték minden numerikus vagy string típusú, és írja be a dátumot és az időt. A visszatérési típusa megegyezik a típusú kifejezés.
booktown = # SELECT min (költség). min (kiskereskedelmi) raktárról;
booktown = # SELECT min (kiskereskedelmi), p.name
booktown- # FROM (készletek NATURAL JOIN kiadás)
booktown- # REGISZTRÁCIÓ kiadók AS p (publisheMd)
booktown- # HASZNÁLATA (publisheMd)
booktown-l GROUP BY p.name
booktown- # ORDER BY min ASC;
16.95 | random House
21.95 I Books of Wonder
23.95 | Henry Holt Company. Inc.
23.95 | Kids lenyomhatja
24.95 | mojo Press
28.95 I HarperCollins
28.95 | Watson-Guptill Publications
stddev On fogadó funkció expressziós leíró értékek bármely numerikus típusú (Numeri a, Bigi nt, smal 1 i nt, valós vagy doubl e preci si on), és szórását adja vissza a csoport. Az igazi kifejezések eredmény visszaadott érték típusa kétszeres pontosságú, és a többi fajta -TO érték típusú numerikus.
booktown = # SELECT stddev (kiskereskedelmi) raktárról;
booktown = # SELECT stddev (kiskereskedelmi), p.name
booktown- # FROM (készletek NATURAL JOIN kiadás)
booktown- # REGISZTRÁCIÓ publikált AS p ON (publisheMd = p.id)
booktown- # GROUP BY p.name
booktown- # ORDER BY DESC stddev
booktown- # LIMIT 4:
16.97 | Ace Books
16.97 | Roc 8,02 Random House
sum () függvény megkapja kifejezése leíró értékek numerikus típusú (numerikus, bigint, smallint, igazi, vagy kétszeres pontosságú), és visszaadja az értékek összege a csoportban. Mert kifejezése típusú egész eredményt ad vissza, mint érték típusú numerikus és kifejezéseket a típusú valós - mint érték típusú dupla pontosságú. Más esetekben a visszatérési típusa megegyezik a típusú kifejezés.
booktown = # SELECT sum (készlet) raktárról;
booktown = # SELECT sum (készlet). s.subject
booktown- # FROM ((készletek NATURAL JOIN kiadás)
booktown (# REGISZTRÁCIÓ könyvek (books.id = bookjd))
booktown-f REGISZTRÁCIÓ tárgyak AS s
booktown- # ON (books.subject_id = s.id)
booktown- # GROUP BY s.subject
booktown- # ORDER BY összeg DESC;
166 I Sci
91 | Gyermekkönyvek
variancia () függvény kap egy kifejezést leíró értékek numerikus típusú (numerikus, bigint, kis int, igazi, vagy kétszeres pontosságú), és visszaadja a szórás az együttes (stddevO négyzeten). Az igazi kifejezést eredményez visszaadott érték típusa kétszeres pontosságú, és a fennmaradó típusok - mint érték típusú numerikus.
booktown = # SELECT variancia (retaiT) raktárról;
booktown = # SELECT varianceCretail), p.name
booktown- # FROM (készletek NATURAL JOIN kiadás)
booktown- # REGISZTRÁCIÓ kiadók AS p
booktown- # ON (editions.pub! isher_id = p.id)
booktown- # GROUP BY p.name
booktown- # ORDER BY DESC variancia
booktown- # LIMIT 4: szórás neve
288.00 | Ace Books 288.00 I Roc 64,33.
Random House 32.00 | Doubleday