Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Mix agregačné funkcie na MySQL

open - source softvér pre správu databázy MySQL používa priemyselný štandard Structured Query Language pre transakcie dát a údržbu databázy . Rovnako ako u ostatných SQL dialekty , MySQL ponúka sadu agregačných funkcií , ktoré vykonávajú štatistické matematiky na skupiny dát . Môžete kombinovať tieto funkcie sa štandardným matematiky v rámci svojich programov , ale len za určitých podmienok . Agregačné funkcie

Hoci väčšina matematických funkcií v SQL vykonávať výpočty jeden záznam v dobe , agregačné funkcie vráti výsledky u všetkých záznamov v súbore dát alebo skupiny záznamov v sade . Napríklad , " AVG ( ) " funkcia má priemer zadaného pole pre všetky záznamy vrátené " SELECT " vyhlásenie , ako ukazuje nasledujúci SQL kód ilustruje :

SELECT AVG ( total_sales ) FROM zákazníkov WHERE stav = ' NY ' ;

Tento príkaz zobrazuje priemerné celkové tržby pre všetkých zákazníkov v štáte New York . To zobrazuje jedno číslo . Môžete tiež rozdeliť priemery so štátom , ako v tomto vyhlásení :

Zvoľte stať , AVG ( total_sales ) od zákazníkov GROUP BY stave ;

zobrazí jeden riadok za stavu , čo priemerné predajné údaj pre všetkých zákazníkov v štáte .
štandardné Matematika

štandardné matematické funkcie v MySQL sú sčítanie , odčítanie , násobenie a delenie , trigonometria , exponenciály a niekoľko ďalších . U polí v tabuľke , mySQL vykonáva matematiky na každého záznamu . Ak chcete napríklad zobraziť celkový predaj pre záznam objednávky , môžete vynásobiť jednotkovú cenu podľa objednaného množstva , ako tento príkaz SQL Výstavy :

SELECT unit_price , qty_ordered , unit_price * Množstvo objednať u objednávok ;

Nasledujúci príkaz SELECT nefunguje , však :

SELECT unit_price * qty_ordered , AVG ( unit_price ) FROM orders ;

údajov sa pokúša zmiešať agregačné funkcie a štandardné matematiku v nevhodnej spôsobom . Funkcia AVG ( ) vráti jednu hodnotu , aj keď unit_price * qty_ordered výpočet môže vrátiť tisíce hodnôt . Nemôžete mať oboje v jednom príkaze .
Miešanie Agregáty

môžete použiť niekoľko agregačné funkcie v jednom príkaze SQL . Toto pracuje , pretože každý agregát vráti jednu hodnotu . Napríklad , ak chcete , aby priemer , minimálne a maximálne ceny v tabuľke objednávky , môžete použiť nasledujúci príkaz :

SELECT AVG ( unit_price ) , MIN ( unit_price ) , MAX ( unit_price ) FROM orders ;

Miešanie kameniva s štandardných polí a funkcií

mix agregáty s štandardných polí zoskupením záznamy spoločne , pretože nasledujúci príkaz zobrazuje :

SELECT product_number , AVG ( unit_price ) , MIN ( unit_price ) , MAX ( unit_price ) FROM orders GROUP BY product_number ;

zobrazuje jeden riadok číslo produktu , ktoré ukazujú výrobok sa priemerné, minimálne a maximálne ceny . Môžete kombinovať štandardné a agregačné funkcie , tak dlho , ako si skupina zaznamenáva spoločne , ako v nasledujúcom kóde SQL :

SELECT product_number , cost_per_m /1000 , AVG ( unit_price ) , MIN ( unit_price ) , MAX ( unit_price ) objednávok GROUP BY product_number ;

Toto vyhlásenie počíta náklady s jedným položku založenú na " náklady na mlyn " , alebo náklady na 1000 jednotiek , a zobrazí sa toto číslo spolu s priemernou , minimálnu a maximálnu cenu . Môžete kombinovať štandardné a agregačné funkcie v prípade , že štandardné funkcie vzťahujú na agregáty , ako na nasledujúcom príklade :

SELECT AVG ( unit_price ) , COUNT ( unit_price ) , AVG ( unit_price ) * COUNT ( unit_price ) FROM orders ;

, SELECT násobia výsledky AVG ( ) a COUNT ( ) funkcie dohromady .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené