DISTINCT sisään PostgreSQL: Valitse, tilaa ja raja (esimerkkejä)
⚡ Älykäs yhteenveto
DISTINCT sisään PostgreSQL käytetään SELECT-lausekkeen kanssa kaksoisrivien poistamiseen ja vain yksilöllisten arvojen palauttamiseen. Se kattaa SELECT-syntaksin, SQL-komennon ja pgAdminin, DISTINCT-lausekkeen yksittäisissä ja useissa sarakkeissa sekä DISTINCT-lausekkeen ja GROUP BY -lausekkeen eron.

Voit hakea tietoja taulukosta SELECT-käskyllä.
Syntaksi:
SELECT [column names] FROM [table_name]
Täällä
- sarakkeiden nimet: Niiden sarakkeiden nimet, joiden arvon haluat noutaa.
- FROM: FROM-lauseke määrittää yhden tai useamman lähdetaulukon SELECT-lausekkeelle.
- taulukon_nimi: Sen aiemmin luodun taulukon nimi, jota haluat kysellä.
Mikä on DISTINCT-ominaisuus PostgreSQL?
DISTINCT lauseke sisään PostgreSQL käytetään SELECT-lausekkeen kanssa kaksoisrivien poistamiseen tulosjoukosta. Kun sarake sisältää toistuvia arvoja, SELECT DISTINCT palauttaa vain yksilölliset arvot, säilytäping yksi rivi kutakin kaksoiskappaleiden ryhmää kohden. Tästä on hyötyä, kun haluat luettelon erillisistä merkinnöistä, kuten yksilöllisistä asiakaskaupungeista tai tuoteluokista, ilman toistoa.
DISTINCT arvioi kaikki SELECT-lausekkeessa luetellut sarakkeet sen määrittämiseksi, onko rivi yksilöllinen. PostgreSQL tarjoaa myös DISTINCT ON -funktion, joka palauttaa ensimmäisen rivin määritetyn lausekkeen jokaista erillistä arvoa kohden. Voit yhdistää DISTINCT-funktion ORDER BY -funktion kanssa hallitaksesi näytettäviä rivejä ja LIMIT-funktion kanssa rajoittaaksesi tulosten määrää.
PostgreSQL Valitse Lauseke SQL Shellissä
Vaihe 1) Meillä on taulukko ”tutorials”, jossa on kaksi saraketta, ”id” ja ”tutorial_name”. Tehdään siitä kysely. Käytä seuraavaa kyselyä taulukon tietojen listaamiseen:
SELECT id,tutorial_name FROM tutorials;
HUOMAUTUS: Käytä komentoa \c muodostaaksesi yhteyden tietokantaan, joka sisältää kyselyn kohteena olevan taulukon. Meidän tapauksessamme olemme yhteydessä tietokantaan guru99.
Vaihe 2) Jos haluat tarkastella tietyn taulukon kaikkia sarakkeita, voimme käyttää tähti- (*) -jokerimerkkiä. Tämä tarkoittaa, että se tarkistaa kaikki mahdollisuudet ja palauttaa jokaisen sarakkeen.
SELECT * FROM tutorials;
Se näyttää kaikki opetusohjelmataulukon tietueet.
Vaihe 3) Voit käyttää ORDER-lausetta lajitellaksesi taulukon tiedot tietyn sarakkeen perusteella. ORDER-lause järjestää tiedot A–Z-järjestyksessä.
SELECT * FROM tutorials ORDER BY id;
Voit lajitella Z:sta A:hen käyttämällä "DESC":tä "ORDER BY" -käskyn jälkeen.
SELECT * FROM tutorials ORDER BY id DESC;
Vaihe 4) SELECT DISTINCT -sovellus PostgreSQL lauseketta voidaan käyttää kaksoisrivien poistamiseen tuloksesta. Se säilyttää yhden rivin jokaiselle kaksoiskappaleryhmälle.
Syntax: SELECT DISTINCT column_1 FROM table_name;
Kysellään Postgres Select Distinct id -arvoja taulukko-opetusohjelmistamme käyttämällä erillisiä kyselyitä PostgreSQL:
SELECT DISTINCT(id) FROM tutorials;
Vaihe 5) Voit käyttää PostgreSQL LIMIT-lauseke, joka rajoittaa SELECT-kyselyn palauttamien tietueiden määrää.
SELECT * FROM tutorials LIMIT 4;
PostgreSQL Valitse lauseke pgAdminissa
Vaihe 1) Objektipuussa:
- Napsauta taulukkoa hiiren kakkospainikkeella.
- Valitse Skriptit.
- Napsauta VALITSE SKRIPTI.
Vaihe 2) Oikealla olevassa paneelissa:
- Muokkaa SELECT-kyselyä tarvittaessa.
- Napsauta Lightning-kuvaketta.
- Tarkkaile tuotosta.
DISTINCT useissa sarakkeissa
SELECT DISTINCT -lauseke voi koskea myös useampaa kuin yhtä saraketta. Kun listaat useita sarakkeita DISTINCT-lauseen jälkeen, PostgreSQL käsittelee näiden sarakkeiden yhdistelmää yksikkönä ja poistaa rivit, joissa koko yhdistelmä esiintyy.
Syntax: SELECT DISTINCT column_1, column_2 FROM table_name;
Esimerkiksi tutorial_name- ja id-muuttujien yksilöllisten yhdistelmien palauttamiseksi tutorials-taulukosta:
SELECT DISTINCT tutorial_name, id FROM tutorials;
Tässä tapauksessa rivi poistetaan vain, kun sekä tutorial_name että id vastaavat toista riviä. Jos kahdella rivillä on sama tutorial_name, mutta eri id-arvot, molemmat säilytetään, koska yhdistelmä on edelleen ainutlaatuinen. Tämä toiminta on tärkeää muistaa: DISTINCT ei poista yhden sarakkeen duplikaatteja, kun useita sarakkeita on valittu, vaan se poistaa kaikkien valittujen sarakkeiden duplikaatit yhdessä.
DISTINCT vs. GROUP BY -kohderyhmä PostgreSQL
Sekä DISTINCT että GROUP BY voivat poistaa kaksoisarvoja, mutta niillä on eri tarkoitukset:
- DISTINCT palauttaa yksinkertaisesti yksilölliset rivit tuloksesta ja on paras vaihtoehto, kun tarvitset vain deduplikoidun listan.
- GROUP BY ryhmittelee rivit, joilla on sama arvo, jotta voit käyttää koostefunktioita, kuten COUNT, SUM tai AVG jokaiselle ryhmälle.
Esimerkiksi kaksi alla olevaa kyselyä palauttavat molemmat yksilölliset tunnistearvot:
SELECT DISTINCT id FROM tutorials; SELECT id FROM tutorials GROUP BY id;
Käytä DISTINCT-funktiota yksinkertaiseen yksilöllisten arvojen luetteloon ja GROUP BY -funktiota, kun tarvitset myös laskutoimituksen ryhmäkohtaisesti, kuten laskemalla, kuinka monella opetusohjelmalla on sama tunnus. Yksinkertaisissa kyselyissä suunnittelija tuottaa usein samanlaisen suorituskyvyn molemmille, mutta GROUP BY -funktiota tarvitaan aina, kun käytetään aggregointia.
Cheat Sheet
SELECT [column names] FROM [table_name] [clause]
Tässä ovat eri parametrit:
- sarakkeiden nimet: Niiden sarakkeiden nimet, joiden arvon haluat noutaa.
- FROM: FROM-lauseke määrittää yhden tai useamman lähdetaulukon SELECT-lausekkeelle.
- taulukon_nimi: Sen aiemmin luodun taulukon nimi, jota haluat kysellä.
Erilaisia lausekkeita ovat:
| komennot | Tuotetiedot |
|---|---|
| * | Noutaa tietueet kaikilta taulukon riveiltä. |
| DISTINCT | DISTINCT sisään PostgreSQL auttaa poistamaan kaksoiskappaleet tuloksesta. |
| TILAUS | Lajittelee rivit sarakkeen perusteella. Oletusjärjestys on nouseva. Käytä avainsanaa DESC lajitellaksesi laskevaan järjestykseen. |
| RAJOITA | LIMIT sisään PostgreSQL rajoittaa kyselyn palauttamien tietueiden määrää. |








