DISTINKT i PostgreSQL: Velg, bestill etter og begrens (eksempler)
โก Smart oppsummering
DISTINKT i PostgreSQL brukes med en SELECT-setning for รฅ fjerne dupliserte rader og returnere kun unike verdier. Den dekker SELECT-syntaksen, SQL-skallet og pgAdmin, DISTINCT pรฅ รฉn og flere kolonner, og DISTINCT versus GROUP BY.

Du kan hente data fra tabellen ved รฅ bruke en SELECT-setning.
Syntaks:
SELECT [column names] FROM [table_name]
Her
- kolonnenavn: Navnet pรฅ kolonnene hvis verdi du vil hente.
- FRA: FROM-klausulen definerer รฉn eller flere kildetabeller for SELECT-klausulen.
- tabellnavn: Navnet pรฅ en eksisterende tabell du vil spรธrre.
Hva er DISTINCT i PostgreSQL?
Ocuco DISTINCT klausul i PostgreSQL brukes med en SELECT-setning for รฅ fjerne dupliserte rader fra resultatsettet. Nรฅr en kolonne inneholder gjentatte verdier, returnerer SELECT DISTINCT bare de unike verdiene, keeping en enkelt rad for hver gruppe med duplikater. Dette er nyttig nรฅr du รธnsker en liste over distinkte oppfรธringer, for eksempel unike kundebyer eller produktkategorier, uten repetisjon.
DISTINCT evaluerer alle kolonnene som er oppfรธrt i SELECT-setningen for รฅ avgjรธre om en rad er unik. PostgreSQL tilbyr ogsรฅ DISTINCT ON, som returnerer den fรธrste raden for hver distinkte verdi i et spesifisert uttrykk. Du kan kombinere DISTINCT med ORDER BY for รฅ kontrollere hvilke rader som vises, og med LIMIT for รฅ begrense antallet resultater.
PostgreSQL Velg Statement i SQL Shell
Trinn 1) Vi har tabellen ยซtutorialsยป med to kolonner, ยซidยป og ยซtutorial_nameยป. La oss spรธrre den. Bruk fรธlgende spรธrring for รฅ liste opp data i tabellen:
SELECT id,tutorial_name FROM tutorials;
NOTAT: Bruk kommandoen \c for รฅ koble til databasen som inneholder tabellen du vil spรธrre. I vรฅrt tilfelle er vi koblet til databasen guru99.
Trinn 2) Hvis du vil se alle kolonnene i en bestemt tabell, kan vi bruke jokertegnet asterisk (*). Dette betyr at den sjekker alle muligheter, og som et resultat returnerer den alle kolonner.
SELECT * FROM tutorials;
Den viser alle postene i opplรฆringstabellen.
Trinn 3) Du kan bruke ORDER-leddet til รฅ sortere data i en tabell basert pรฅ en bestemt kolonne. ORDER-klausulen organiserer data i A til ร -rekkefรธlge.
SELECT * FROM tutorials ORDER BY id;
Du kan sortere fra Z til A ved รฅ bruke "DESC" etter "ORDER BY"-setningen.
SELECT * FROM tutorials ORDER BY id DESC;
Trinn 4) SELECT DISTINCT i PostgreSQL klausul kan brukes til รฅ fjerne dupliserte rader fra resultatet. Den beholder รฉn rad for hver gruppe med duplikater.
Syntax: SELECT DISTINCT column_1 FROM table_name;
La oss spรธrre Postgres Select Distinct ID-verdier fra tabellveiledningene vรฅre ved รฅ bruke distinkte spรธrringer i PostgreSQL:
SELECT DISTINCT(id) FROM tutorials;
Trinn 5) Du kan ogsรฅ bruke det PostgreSQL LIMIT-klausul for รฅ begrense antall poster som returneres av SELECT-spรธrringen.
SELECT * FROM tutorials LIMIT 4;
PostgreSQL Velg uttalelse i pgAdmin
Trinn 1) I objekttreet:
- Hรธyreklikk pรฅ tabellen.
- Velg Skript.
- Klikk pรฅ VELG SKRIPT.
Trinn 2) I panelet til hรธyre:
- Rediger SELECT-spรธrringen om nรธdvendig.
- Klikk pรฅ Lyn-ikonet.
- Observer utgangen.
DISTINCT pรฅ flere kolonner
SELECT DISTINCT-klausulen kan ogsรฅ gjelde for mer enn รฉn kolonne. Nรฅr du viser flere kolonner etter DISTINCT, PostgreSQL behandler kombinasjonen av disse kolonnene som en enhet og fjerner rader der hele kombinasjonen er duplisert.
Syntax: SELECT DISTINCT column_1, column_2 FROM table_name;
For eksempel, for รฅ returnere de unike kombinasjonene av tutorial_name og id fra tutorials-tabellen:
SELECT DISTINCT tutorial_name, id FROM tutorials;
I dette tilfellet fjernes en rad bare nรฅr bรฅde tutorial_name og id samsvarer med en annen rad. Hvis to rader deler samme tutorial_name, men har forskjellige id-verdier, beholdes begge, fordi kombinasjonen fortsatt er unik. Denne oppfรธrselen er viktig รฅ huske: DISTINCT deduplikerer ikke en enkelt kolonne nรฅr flere kolonner er valgt; den deduplikerer hele settet med valgte kolonner sammen.
DISTINCT vs. GROUP BY i PostgreSQL
Bรฅde DISTINCT og GROUP BY kan fjerne dupliserte verdier, men de tjener forskjellige formรฅl:
- DISTINCT returnerer ganske enkelt unike rader fra resultatet og er best nรฅr du bare trenger en deduplisert liste.
- GRUPPE AV grupperer rader som deler en verdi, slik at du kan bruke aggregeringsfunksjoner som ANTAL, SUM eller AVG til hver gruppe.
For eksempel returnerer begge de to spรธrringene nedenfor de unike ID-verdiene:
SELECT DISTINCT id FROM tutorials; SELECT id FROM tutorials GROUP BY id;
Bruk DISTINCT for en enkel liste over unike verdier, og bruk GROUP BY nรฅr du ogsรฅ trenger en beregning per gruppe, for eksempel รฅ telle hvor mange veiledninger som deler hver ID. Pรฅ enkle spรธrringer produserer planleggeren ofte lignende ytelse for begge, men GROUP BY er nรธdvendig nรฅr aggregering er involvert.
Cheat Sheet
SELECT [column names] FROM [table_name] [clause]
Her er de ulike parameterne:
- kolonnenavn: Navnet pรฅ kolonnene hvis verdi du vil hente.
- FRA: FROM-klausulen definerer รฉn eller flere kildetabeller for SELECT-klausulen.
- tabellnavn: Navnet pรฅ en eksisterende tabell du vil spรธrre.
Ulike klausuler er:
| Kommandoer | Tekniske beskrivelser |
|---|---|
| * | Henter poster for alle radene i tabellen. |
| DISTINCT | DISTINKT i PostgreSQL hjelper deg med รฅ fjerne duplikater fra resultatet. |
| REKKEFรLGE ETTER | Sorterer rader basert pรฅ en kolonne. Standard sorteringsrekkefรธlge er stigende. Bruk nรธkkelordet DESC for รฅ sortere i synkende rekkefรธlge. |
| BEGRENSE | LIMIT i PostgreSQL begrenser antall poster som returneres av spรธrringen. |








