Bruke MySQL Sum Aggregate Function

Bruke MySQL Sum Aggregate Function

MySQL Aggregate -funksjoner refererer til et sett med funksjoner som utfører beregninger på et sett med verdier og returnerer en enkelt verdi. Aggregatefunksjoner inkluderer maksimal og minimumsverdi, gjennomsnittlig standardavvik, telling, sum osv.

I denne opplæringen skal vi lære om et av de populære valgene av de samlede funksjonene: Sum.

Hva er sum? Hvordan virker det?

Summen MySQL -funksjonen gjør nettopp som navnet indikerer: den returnerer summen av et sett med verdier. Sumfunksjonen ignorerer nullverdier når den oppstår i et sett.

Hvis den brukes i valgklausulen der ingen rad returneres, er den resulterende verdien fra sumfunksjonen en null og ikke null.

Grunnleggende bruk

Den generelle syntaksen til MySQL Sum -funksjonen er som vist nedenfor:

Sum (uttrykk)

Uttrykket kan være en enkelt kolonne eller flere kolonner atskilt med komma.

Eksempel Bruk sak

La oss illustrere hvordan funksjonen fungerer ved å bruke en virkelig database. For dette eksemplet skal vi bruke rotete data fra den virkelige verden og importere dem til mysql.

Dataene som er gitt er i form av CSV -verdier.

Du kan laste ned dataene fra ressursen nedenfor:

https: // www.Kaggle.COM/NASA/Kepler-Exoplanet-søksresultater/nedlasting

Når du har lastet ned dataene, kan du importere dem til MySQL og begynne å bruke dem.

For å bekrefte at du har riktige data, kan du sammenligne dataene dine fra utdataene fra spørringen nedenfor:

Velg * fra Kepler -grense 5;

Nedenfor er prøveutgang fra spørringen ovenfor:

Vi kan bruke en av kolonnene fra databasen for å illustrere sumfunksjonene.

Tenk på spørringen nedenfor som får summen av alle verdiene i KOI_IMPACT -kolonnen:

Velg sum (KOI_IMPACT) fra KeplerData;

Dette vil legge til alle verdiene i tabellen og returnere summen som vist i utdataene nedenfor:

+------------------+
| Sum (koi_impact) |
+------------------+
| 4757.370999999998 |
+------------------+
1 rad i sett (0.02 sek)

Sum distinkte verdier

Hvis du ønsker å få summen av alle de unike verdiene i et sett, kan du bruke det distinkte nøkkelordet som vist i spørringen nedenfor:

Velg sum (distinkt koi_impact) fra keplerdata;

Utgangsresultatet er:

+--------------------------+
| Sum (distinkt koi_impact) |
+--------------------------+
| 1188.7739999999995 |
+--------------------------+
1 rad i sett (0.02 sek)

Dette returnerer en annen verdi enn når de distinkte nøkkelordene ikke brukes og bare unike verdier legges til.

Sumfunksjon med uttrykk

Vi kan også bruke et uttrykk ved å bruke WHERE -leddet for bare å få spesifikke verdier. Tenk for eksempel på spørringen nedenfor, som bare tilfører verdi større enn 1 fra tabellen KOI_IMPACT:

Velg sum (koi_impact) fra keplerdata der koi_impact> 1;

Resultatet er som vist:

+--------------------+
| Sum (koi_impact) |
+--------------------+
| 1642.4870000000005 |
+--------------------+
1 rad i sett (0.01 sek)

Sum med filter

Vi kan også legge til filtre til sumoperasjonene i stedet for å legge til alle verdier, noe som kan ta mye tid. For eksempel kan vi legge til summen av alle verdiene der produktet av KOI_IMPACT og KOI_IMPACT_ERR1 er større enn 10.

Velg Kepid, Sum (KOI_IMPACT) fra KeplerData Group av Kepid Have Sum (KOI_IMPACT * KOI_IMPACT_ERR1)> 10 Bestilling med Kepid Limit 5;

Ovennevnte spørring vil gi en utdata som vist:

+---------+-----------------+
| Kepid | Sum (koi_impact) |
+---------+-----------------+
| 1575690 | 1.198 |
| 1722276 | 0.919 |
| 1996679 | 1.274 |
| 2010191 | 1.121 |
| 2021440 | 1.271 |
+---------+-----------------+
5 rader i settet (0.01 sek)

Konklusjon

I denne opplæringen diskuterte vi sumfunksjonen i MySQL, hvordan du bruker den for å få summen av alle verdiene i et sett, og filtrere informasjon ved hjelp av sumfunksjonen.

Eksperimenter gjerne og bruk sumfunksjonen for å gjøre MySQL -oppgaver enklere og raskere.