MySQL open-source database management software bruger industri-standard Structured Query Language for data- transaktioner og database vedligeholdelse. Som med andre SQL dialekter tilbyder mySQL et sæt aggregatfunktioner , der udfører statistiske matematik på grupper af data. Du kan blande disse funktioner med standard matematik i dine programmer , men kun under visse betingelser. Aggregatfunktionerne
Selv om de fleste matematiske funktioner i SQL lave beregninger én post ad gangen, aggregatfunktionerne returnere resultater for alle poster i et datasæt eller en gruppe af poster i et sæt. For eksempel " AVG ( )" funktion tager gennemsnittet af den angivne vilkår for alle records returneret af en "SELECT " erklæring , som den følgende SQL-kode illustrerer : Hej
SELECT AVG ( total_sales ) FROM kunder WHERE state = ' NY «
Denne erklæring viser de gennemsnitlige samlede salg for alle kunder i New York state . Det viser et enkelt tal . Du kan også bryde gennemsnit ned fra stat, som i denne erklæring : Hej
SELECT staten, AVG ( total_sales ) FROM kunder GROUP BY tilstand,
Dette viser en linje pr staten, hvilket giver det gennemsnitlige salg tallet for alle kunder i staten.
Standard Math
standard matematiske funktioner i mySQL omfatter addition, subtraktion, multiplikation og division, trigonometri , exponentials og flere andre. For felter i en tabel , udfører mySQL matematik på hver post . For eksempel , for at vise det samlede salg for en ordre rekord kan du gange enhedsprisen ved den bestilte mængde , da dette SQL-sætning viser : Hej
SELECT unit_price , qty_ordered , unit_price * Antal bestilt fra ordrer
følgende SELECT-sætning ikke virker, men : Hej
SELECT unit_price * qty_ordered , AVG ( unit_price ) FROM ordrer
erklæring forsøger at blande samlede funktioner og standard matematik på en upassende måde . AVG () funktion returnerer en enkelt værdi , selvom unit_price * qty_ordered beregning kan vende tilbage tusindvis af værdier. Du kan ikke have det på begge måder i en enkelt sætning.
Mixing aggregater
Du kan bruge flere aggregatfunktionerne i en enkelt SQL-sætning. Dette fungerer, fordi hvert aggregat returnerer en enkelt værdi . For eksempel, hvis du vil have de gennemsnitlige , minimum og maksimum priser i en ordretabel kunne du bruge følgende erklæring : Hej
SELECT AVG ( unit_price ) , MIN ( unit_price ) , MAX ( unit_price ) FROM ordrer ; < br >
Mixing aggregater med Standard Fields og funktioner
Du blander aggregater med standard felter ved at gruppere poster sammen, som følgende udsagn viser : Hej
SELECT product_number , AVG ( unit_price ) , MIN ( unit_price ) , MAX ( unit_price ) FROM ordrer GROUP BY product_number ,
Dette viser en linje pr varenummer, viser produkt med de gennemsnitlige , minimum og maksimum priser. Du kan blande standard og aggregerede funktioner så længe du gruppere poster sammen , som i den følgende SQL-kode :
SELECT product_number , cost_per_m /1000 , AVG ( unit_price ) , MIN ( unit_price ) , MAX ( unit_price ) FROM ordrer GROUP BY product_number ,
denne erklæring beregner en enkelt vare koster baseret på en "cost per mølle ", eller pris pr 1.000 enheder , og viser dette tal sammen med gennemsnit, minimum og maksimum pris. Du kan blande standard og samlede funktioner , hvis de standard funktioner gælder for de aggregater , da dette eksempel viser : Hej
SELECT AVG ( unit_price ) , COUNT ( unit_price ) , AVG ( unit_price ) * COUNT ( unit_price ) FROM ordrer ;
Her SELECT-sætningen ganger resultaterne af AVG () og COUNT () funktioner sammen.