Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
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 .
Copyright © počítačové znalosti Všetky práva vyhradené