Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Aggregointi ja Ryhmittely SQL:ssä | Tietojen Käsittely
Databricks Perusteet: Aloittelijan Opas

Aggregointi ja Ryhmittely SQL:ssä

Pyyhkäise näyttääksesi valikon

Note
Määritelmä

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
question mark

Mikä SQL-lause on välttämätön, kun halutaan luoda yhteenvedotietoja aggregaattifunktioilla kuten SUM() tai AVG()?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 7

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 4. Luku 7
some-alt