Aggregointi ja Ryhmittely SQL:ssä
Pyyhkäise näyttääksesi valikon
SQL-yhteenvedot käyttävät GROUP BY -lausetta järjestääkseen raakadatan yhteenvedon riveiksi. Käyttämällä funktioita kuten SUM(), AVG() ja COUNT(), voit muuntaa miljoonia rivejä liiketoiminnan kannalta merkityksellisiksi mittareiksi suoraan SQL-solussa.
Monille SQL on luonnollisin kieli datan tiivistämiseen. Syntaksi on erittäin luettavaa ja noudattaa loogista etenemistä: valitse kategoriat, määritä laskutoimitukset ja ryhmät. Tässä luvussa käytät aiemmin luotua väliaikaista näkymää suorittaaksesi samat yhteenvedot kuin Pythonissa, mutta SQL:n yksinkertaisuudella.
GROUP BY -lause
SQL:ssä kaikki sarakkeet, joita ei "matemaattisesti tiivistetä", on sisällytettävä kyselyn lopussa olevaan GROUP BY -lauseeseen. Tämä kertoo SQL-moottorille tarkalleen, miten data jaotellaan.
SELECT cut, COUNT(*)
FROM diamond_view
GROUP BY cut
Sisäänrakennettujen aggregaattifunktioiden käyttö
SQL tarjoaa useita vakiotoimintoja numeeristen sarakkeiden laskentaan:
- SUM(): laskee kaikki sarakkeen arvot yhteen;
- AVG(): laskee keskiarvon;
- MIN() / MAX(): löytää pienimmän tai suurimman arvon;
- COUNT(): palauttaa rivien lukumäärän.
%sql
SELECT
cut,
SUM(x),
AVG(y)
FROM diamond_view
GROUP BY cut
Aliaksien käyttö ammattimaisissa raporteissa
Oletuksena SQL voi nimetä tulossarakkeet muodossa sum(Total_Profit). Jotta tuloksesi soveltuvat liiketoiminnan koontinäyttöihin, käytä AS-avainsanaa nimetäksesi sarakkeet kuvaavammalla tavalla.
%sql
SELECT
cut,
SUM(x) AS Total_Length,
MAX(y) AS Highest_Diamond_Value
FROM diamond_view
GROUP BY cut
Aggregoidun datan suodatus: HAVING-lause
Yleinen virhe on yrittää suodattaa aggregoitua tulosta käyttämällä WHERE-ehtoa. SQL:ssä WHERE suodattaa yksittäisiä rivejä ennen ryhmittelyä. Jos haluat suodattaa tuloksia summauksen jälkeen (esimerkiksi näyttää vain alueet, joiden voitto ylittää 1 000 000 $), sinun tulee käyttää HAVING-ehtoa.
%sql
SELECT cut, SUM(x) AS Total_Length
FROM diamond_view
GROUP BY cut
HAVING Total_Length > 4000
Yhteenvetojen lajittelu
Jotta löydökset erottuvat, käytä aina ORDER BY -lausetta. Tämän avulla voit järjestää tulokset, esimerkiksi näyttää tuottoisimmat alueet taulukon yläosassa.
%sql
SELECT cut, SUM(x) AS Total_Length
FROM diamond_view
GROUP BY cut
ORDER BY Total_Length DESC
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme