PostgreSQL COUNT Function

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

Vastaa

Sähköpostiosoitettasi ei julkaista.