PostgreSQL Count Function

PostgreSQL Count Function

Innholdet som er til stede i databasen krever alltid vedlikehold. Dette vedlikeholdet innebærer endring av tabellen ved hjelp av SELECT, Sett inn og oppdaterer kommandoen. I tillegg til denne kommandoen, trenger vi en funksjon for å hjelpe oss med å gi total av spesifiserte data som er til stede i skjematabellen. I PGADMIN -dashbordet kan det være enkelt å samle summen eller aggregatet for de totale dataene. Men når det gjelder PSQL -terminalen, er det en vanskelig oppgave. Derfor har PostgreSQL introdusert en funksjonstall (). Det er på en eller annen måte en enkel innebygd funksjon, men kan endres til det komplekse nivået ved å legge til klausuler i uttalelsen.

Count () -funksjonen "Aggregate Function" lar brukeren hente antall rader som er matchet med det spesifiserte kravet til spørringen, ikke bare i tilfelle å telle totale data i en tabell. Spesifikt er kolonnen og radene som har tydelige verdier en viktig funksjonalitet av denne funksjonen.

Syntaks

Syntaks for tellefunksjonen er skrevet slik at det er en parameter til stede inne i parentesen. Denne parameteren bestemmer målpunktet der tellefunksjonen skal brukes.

Velg Count (*) fra tabellenavn;
Velg Count (kolonne) fra tabellenavn;
Velg Count (distinkt kolonne) fra tabellenavn;

Dette er de grunnleggende syntakslinjene. Disse forbedres ved å legge til klausuler med dem. Hver klausul er separat forklart i forkant i denne opplæringen.

Tellefunksjon ()

Tenk på et forhold (tabell) som heter sykehus med følgende attributter: lege -ID, navn, by, lønn osv. Bruk "Opprett" og "Sett inn" uttalelser for å opprette forholdet og for å sette inn alt innhold. Alt innholdet i denne tabellen vises gjennom SELECT -setningen.

>> Velg * fra sykehus;

Vi har startet med et enkelt eksempel. Der vi får det totale antallet rader fra bordsykehuset. For dette formålet, bruk Simple Count -setningen for antall rader.

>> Velg Count (*) fra sykehus;

Dette vil bare vise antall rader som er til stede i tabellen og ikke hele innholdet, da det er en tellefunksjon, så bare radene på tabellen telles her. Ytterligere funksjoner av count () blir forklart i forkant i denne opplæringen.

Tell for kolonne

Noen ganger oppstår et slikt scenario når du bare trenger å telle dataene som er til stede i en bestemt kolonne. For å unngå forvirring angående antall rader i alle tabellene, vil vi direkte telle radene i den spesifikke kolonnen ved å spesifisere kolonnenavnet i kommandoen fordi det totale antallet rader på tabellen ikke trenger å bestemme de samme radene I hver kolonne. De kan variere, avhengig av hvilken type informasjon brukeren har gitt. Bare du trenger å vite om kolonnens navn på tabellen du er opptatt av.

>> Velg * fra programvare;

Fremover, der har vi tabellen "programvare" med tre kolonner. Vi ønsker å vise antall rader i kolonnen “Versjoner”.

>> Velg Count (versjoner) fra programvare;

Så den resulterende verdien viser at det bare er 3 rader i "versjonen" -kolonnen, mens de totale radene i kolonnen var 4. Derfor er det bevist at radene i hver kolonne kan variere.

Tell med tydelig verdi

Igjen vurder bordet “sykehus” for det nye eksemplet. Dette eksemplet omhandler å hente antall rader fra kolonnen som har forskjellige verdier. Med andre ord, radene som har ordene som er forskjellige fra resten av radene i samme kolonne, blir hentet og talt.

Denne funksjonen hjelper til med å få variasjonen av data fra å bruke bare en telling () i databasen. Ellers kan manuell telling belaste mye tid. Den viser også at en enkelt kolonne kan inneholde dupliserte data uavhengig av de spesifiserte ID -ene.

Nå vil vi bruke kommandoen på "City" -kolonnen i tabellen. I denne kolonnen gjentas et bynavn mer enn en gang i en kolonne. Et "distinkt" nøkkelord brukes med tellekommandoen.

>> Velg Count (distinkt by) fra sykehus;

Radene som er oppnådd er 9. Mens det totale antallet rader var 11. Byen "Lahore" gjentas tre ganger i kolonnen mot forskjellige ID -er.

Telle () og gruppe av

Fra bordet "sykehus", vil vi vite om antall tilstedeværende leger. Tellefunksjonen vil telle antall leger på sykehuset. Bare de forskjellige ID -ene vil telles individuelt. Her opprettes en ny kolonne som heter "Number av leger" med ID -kolonnen. Hver ID telles, og nummeret er skrevet i samme rad i den nye kolonnen sammen med hver ID.

>> Velg Doc_id, Count (*) som "antall leger" fra sykehusgruppen av doc_id;

Bildet representerer antall ID -er i tabellen. Jeg.e. '3' er til stede to ganger i tabellen.

Teller () og hvor klausul

Dette eksemplet er relevant for det forrige. Der vi tar samme utgang, men med en annen tilstand. Denne tilstanden brukes på kolonnen "Lønn". De legene som har lønningene større enn 30000, vises gjennom ID -ene. Og i den andre kolonnen vises tellingen.

>> Velg Doc_id, Count (*) som "antall leger" fra sykehus der lønn> 30000 gruppe av doc_id;

Teller () og å ha klausulen

Vi ønsker å få alle ID -ene til legene som har lønningene større enn 30000. Etter det blir resultatet ytterligere talt av grev () -funksjonen. Men bare disse ID -ene vises hvis svar på telling () er lik eller større enn 1.

>> Velg Doc_id, Count (*) som "Antall leger" fra sykehus der lønn> 30000 gruppe av doc_id har telling (*)> = 1;

For det første blir resultatet hentet av lønnskolonnen og telles deretter igjen for et ytterligere begrenset utvalg. Den oppnådde utgangen kan ordnes i synkende rekkefølge avhengig av en enkelt kolonne.

Count (), Group by og ordre etter klausul

I dette eksemplet vil vi få ID og antall leger, men målkolonnen er ikke lønn, men alderssøylen. Her brukes tilstanden på hente -ID -er for de legene hvis alder er større enn 30. Etter å ha hentet det totale antall leger mot hver ID, blir resultatet igjen sortert, og det totale antallet som tilsvarer en eller større verdier oppnås. Etter det er disse kolonnene ordnet i synkende rekkefølge til grev () -funksjonen vi får.

>> Velg Doc_id, Count (*) som "Antall leger" fra sykehus der alder> 30 -gruppen ved å doc_id har telling (*)> = 1 ordre etter telling (*) desc;

Fra utgangen kan du se at det oppnås 6 rader. Hvert antall tellefunksjoner vises foran den respektive IDen.

Konklusjon

Count () -funksjonen er en bedre måte å få det totale antallet rader ved å bruke kravforholdene. Denne funksjonen bruker hvor, gruppe av og bestill etter klausul i count () -kommandoen. Det resulterende målet er avhengig av parameteren til funksjonen. Hvert eksempel er sitert, noe som er ganske meningsfylt i sin måte å forklare det gitte konseptet.