Yhteenveto: Tässä opetusohjelmassa opit käyttämään PostgreSQL COUNT()
-funktiota taulukon rivien lukumäärän laskemiseen.
PostgreSQL COUNT()-funktio yleiskatsaus
Funktio COUNT()
on aggregaattifunktio, jonka avulla voit hakea niiden rivien lukumäärän, jotka täyttävät kyselyssä olevan tietyn ehdon.
Seuraava lauseke havainnollistaa erilaisia tapoja käyttää COUNT()
-funktiota.
COUNT(*)
Funktio COUNT(*)
palauttaa SELECT
-lauseen palauttamien rivien lukumäärän, mukaan lukien NULL- ja duplikaatit.
Code language: SQL (Structured Query Language) (sql)
Kun sovellat COUNT(*)
-funktiota koko taulukkoon, PostgreSQL joutuu skannaamaan koko taulukon peräkkäin.
Jos käytät COUNT(*)
-funktiota isoon taulukkoon, kysely on hidas. Tämä liittyy PostgreSQL:n MVCC-toteutukseen. Koska useat transaktiot näkevät datan eri tiloja samanaikaisesti, COUNT(*)
-funktiolla ei ole suoraa tapaa laskea koko taulukon yli, joten PostgreSQL:n on skannattava kaikki rivit.
COUNT(sarake)
Samankaltainen kuin COUNT(*)
-funktio, COUNT(column)
-funktio palauttaa SELECT
-lausekkeella SELECT
palautettujen rivien määrän. Se ei kuitenkaan ota huomioon column
:n NULL
-arvoja.
Code language: SQL (Structured Query Language) (sql)
COUNT(DISTINCT-sarake)
Tässä muodossa COUNT(DISTINCT column)
palauttaa column.
Code language: SQL (Structured Query Language) (sql)
Yksilöivien, ei-tyhjien column.
Code language: SQL (Structured Query Language) (sql)
arvojen määrän column.
Code language: SQL (Structured Query Language) (sql)
Vieläpä käytämme funktiota COUNT(DISTINCT column)
column.
– lausekkeen column.
Code language: SQL (Structured Query Language) (sql)
Palauttamaan kussakin ryhmään kuuluvan kappalemäärä. Voimme esimerkiksi käyttää COUNT()
-funktiota GROUP BY
-lausekkeen kanssa palauttaaksemme elokuvien lukumäärän kussakin elokuvaluokassa.
PostgreSQL COUNT()-funktio esimerkkejä
Käytetään esimerkkitietokannan payment
-taulua esittelyyn.
1) PostgreSQL COUNT(*)-esimerkki
Seuraavassa lausekkeessa käytetään COUNT(*)
-funktiota palauttamaan payment
-taulukon payment
tapahtumien lukumäärä:
Code language: SQL (Structured Query Language) (sql)
Tässä on tuloste:
2) PostgreSQL COUNT(DISTINCT-sarake) esimerkki
Jos haluat saada asiakkaiden maksamat erilliset summat, käytät COUNT(DISTINCT amount)
-funktiota seuraavan esimerkin mukaisesti:
Code language: SQL (Structured Query Language) (sql)
PostgreSQL COUNT() with GROUP BY -lausekkeella
Jos haluat saada asiakkaan suorittamien maksujen määrän, ryhmittelet maksut GROUP BY
-lausekkeella ryhmiin asiakastunnuksen perusteella ja lasket kunkin ryhmän maksut COUNT()
-funktiolla.
Seuraava kysely havainnollistaa ideaa:
Code language: SQL (Structured Query Language) (sql)
Tässä on osittainen tuloste:
PostgreSQL COUNT() HAVING-lausekkeella
Funktiota COUNT
voit käyttää HAVING
-lausekkeessa HAVING
soveltaaksesi ryhmiin tiettyä ehtoa. Esimerkiksi seuraavalla lausekkeella etsitään asiakkaat, jotka ovat suorittaneet yli 40 maksua:
Code language: SQL (Structured Query Language) (sql)
Tässä opetusohjelmassa olet oppinut käyttämään PostgreSQL:n COUNT()
-funktiota taulukon rivien lukumäärän palauttamiseen.
- Oliko tästä opetusohjelmasta apua?
- KylläEi