ПредишенСледващото

Връща разсейването на експресионни стойности в групата

По-долу са по-подробни описания на всички обобщаващи функции, с конкретна информация за особеностите на употребата, примери и допустимите видове входни данни. В следващото описание, терминът Изразът се отнася до всеки идентификатор в комплекта резултат или всеки валиден израз, който извършва операция с този идентификатор.

Когато се обаждате обобщаваща функция се прехвърля в общ израз, който се отнася за документи, създадени от SELECT изявлението. В неговата структура, съвкупният изразите са подобни на конвенционалните изражения на SQL, но те могат да започнат с ключовата дума всички или отделни с.

Ако зададете отделни ключови думи, функционират само група с уникални стойности на общите изрази; групи с дублиращи се стойности се игнорират. Ключовата дума ALL, както в SELECT изявление, само ясно показва, че изразът се отнася до всички групи. 5.19 списъка са примери на различни форми на изразяване на агрегация.

Обявата 5.19. Използването на агрегирани изрази

booktown = # SELECT брой (местоположение) като setjocations,

booktown- # броене (ALL населено място) AS all_set_locations,

booktown- # броене (DISTINCT населено място) AS unique_locations,

booktown- # брой (*) AS all_rows booktown- # от субекти;

setjocations | all_set_locations | uniquejocations all_rows

В обобщените изрази също така е специален формуляр демонстрирано в изхода на колоната 5,19 Ал l_rows регистрационните данни. Ако повикване се прехвърля към обобщаваща функция, звездичка (*), това означава, че функцията е да обработва всички области, включително и обикновено пренебрегвани полета с NULL стойности. Тъй като индивиди таблица съдържа един запис с място област, равна на NULL, полето за броене на рекордни 1 ocati по различава от резултатите от преброяване от един и същ нула с помощта на символа *.

Записите, които са в обобщена израз включва NULL, не се обработват от обобщаващи функции (изключение е функцията за брой ().

Ср () функция се получава общата експресия, която се отнася до всеки резултат на цифров вид (цифров, BIGINT, SMALLINT, реално или двойна точност), или вида на интервал.

Функцията връща средната стойност на всички описани по-експресивни данни. Връщане стойност се отнася до цифрова тип за изразяване на цяло число тип или тип двойна точност, за да напишете реални изражения. В други случаи, типа на връщане съответства на типа на изразяване.

booktown = # SELECT Ср (себестойността), както average_cost,

booktown- # ср (на дребно), както Средна_цена,

booktown- # ср (търговия на дребно - себестойността), както average_profit

booktown- # ОТ състав:

average_cost | Средна_цена | average_prof1t

24.8235294118 | 30.0088235294 5.1852941176

х> oktown = # SELECT Ср (себестойност)

AS average_cost, p.name като издател

booktown- # ОТ склад JOIN издания, използвайки (ISBN))

booktown-л УЧАСТВА издателите като Р (publisheMd)

booktown- # ИЗПОЛЗВАНЕ (publisheMd)

booktown- # GROUP BY p.name;

26.5000000000 | Ace Books

19.0000000000 | Книги на Wonder

26.5000000000 аз Doubleday

18.0000000000 | Хенри Холт Company. Inc.

23.0000000000 аз децата могат да Press

23.0000000000 | Mojo Press

20.0000000000 съм пингвин

23.0000000000 Random House

26.0000000000 | Watson-Guptill публикации

функция countO връща броя стойности, за които експресията не е NULL. Вид на изразяване не е ограничено. Трябва да се помни, че функцията за брой () отчита само стойности, различни от NULL, така че да се получи значими резултати, използвани в израз не може да се върне NULL за броене на записи.

Ако броят на повикване () се прехвърля в символ *, функцията просто брои всички записи, включително и тези, които съдържат NULL.

booktown = # SELECT countC *) ОТ издания;

booktown = # SELECT брой (ISBN). p.name

booktown- # ОТ издания JOIN издатели р (publisheMd)

booktown- # ИЗПОЛЗВАНЕ (publisheMd)

booktown- # GROUP BY p.name

booktown- # ORDER BY брой DESC;

3 | Random House

1 | Книги на Wonder

1 | Хенри Холт Company. Inc.

1 | Децата да натиснете

1 | O'Reilly Associates

1 | Watson-Gupti11 публикации

макс () връща максималната стойност на експресията в групата. изразяване може да бъде резултат от стойността на всяка числова или низ тип, и въведете датата и часа. Типът на връщане съответства на типа на изразяване.

booktown = # SELECT макс (разходите), макс (дребно) ОТ състав;

booktown = # SELECT макс (дребно), p.name

booktown- # ОТ (склад NATURAL JOIN издания)

booktown- # JOIN издателите като Р (PUBLISHER_ID)

booktown- # ИЗПОЛЗВАНЕ (publisherjd)

booktown- # GROUP BY p.name

booktown- # РЕД ОТ макс Низходящо;

45.95 и 36.95 Ace Books Doubleday 32.95

Random House 28.95 HarperCollins

28.95 I Watson-Guptill публикации

24.95 | Mojo Press

23.95 1 Хенри Холт Company. Inc. 23.95

Децата може да натисне 21.95 Книги на Wonder

мин () връща минималната стойност на експресията в групата. изразяване може да бъде резултат от стойността на всяка числова или низ тип, и въведете датата и часа. Типът на връщане съответства на типа на изразяване.

booktown = # SELECT минути (разходите). минути (дребно) ОТ състав;

booktown = # SELECT минути (дребно), p.name

booktown- # ОТ (склад NATURAL JOIN издания)

booktown- # JOIN издателите като Р (publisheMd)

booktown- # ИЗПОЛЗВАНЕ (publisheMd)

booktown-л ГРУПА ОТ p.name

booktown- # РЕД ОТ мин ASC;

16.95 | Random House

21.95 Аз Книги на Wonder

23.95 | Хенри Холт Company. Inc.

23.95 | Децата да натиснете

24.95 | Mojo Press

28.95 Аз HarperCollins

28.95 | Watson-Guptill публикации

StdDev При получаване функция експресия описва стойностите на всеки цифров вид (numeri с, Bigi NT, Smal 1 и NT, реално или Doubl д Preci си на), и връща стандартното отклонение за групата. За реални изражения се връща резултат като вид стойност на двойна точност, както и за останалите видове -Да стойност от тип цифров.

booktown = # SELECT StdDev (на дребно) от склада;

booktown = # SELECT StdDev (на дребно), p.name

booktown- # ОТ (склад NATURAL JOIN издания)

booktown- # JOIN издателите като р ON (publisheMd = p.id)

booktown- # GROUP BY p.name

booktown- # ORDER BY StdDev DESC

booktown- # LIMIT 4:

16.97 | Ace Books

16.97 | Roc 8.02 Random House

сума () функция се получава израз, описващ стойности на всеки цифров вид (с цифри, BIGINT, SMALLINT, реални или двойна точност) и връща сумата на стойностите в групата. За израз на резултат цяло число тип се връща като стойност на типа цифров една и изрази от типа на недвижими - като вид стойност двойна точност. В други случаи, типа на връщане съответства на типа на изразяване.

booktown = # SELECT сума (състав) от състав;

booktown = # SELECT сума (наличност). s.subject

booktown- # ОТ ((склад NATURAL JOIN издания)

booktown (# JOIN Книги на (books.id = bookjd))

booktown-F УЧАСТВА теми като S

booktown- # ON (books.subject_id = s.id)

booktown- # GROUP BY s.subject

booktown- # РЕД ОТ сума Низходящо;

166 I Научна фантастика

91 | Книги за деца

отклонение () функция се получава израз, описващ стойности на всеки цифров вид (с цифри, BIGINT, малък вътр, истински, или двойна точност) и връща вариация на групата (stddevO на квадрат). За реални изражения водят се връща като стойност на типа на двойна точност, както и за останалите видове - като стойност на типа цифров а.

booktown = # SELECT отклонение (retaiT) ОТ състав;

booktown = # SELECT varianceCretail), p.name

booktown- # ОТ (склад NATURAL JOIN издания)

booktown- # JOIN издатели р

booktown- # ON (editions.pub! isher_id = p.id)

booktown- # GROUP BY p.name

booktown- # РЕД ОТ вариацията Низходящо

booktown- # ГРАНИЦА 4: име вариацията

288.00 | Ace Books 288.00 аз Roc 64.33.

Random House 32.00 | Doubleday

Свързани статии

Подкрепете проекта - споделете линка, благодаря!