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
