SKÄRNA i PostgreSQL: Välj, beställ efter och begränsa (exempel)
⚡ Smart sammanfattning
SKÄRNA i PostgreSQL används med ett SELECT-uttryck för att ta bort dubbletter av rader och endast returnera unika värden. Det täcker SELECT-syntaxen, SQL Shell och pgAdmin, DISTINCT på enstaka och flera kolumner, och DISTINCT kontra GROUP BY.
Du kan hämta data från tabellen med hjälp av en SELECT-sats.
Syntax:
SELECT [column names] FROM [table_name]
Här,
- kolumnnamn: Namn på de kolumner vars värde du vill hämta.
- FRÅN: FROM-klausulen definierar en eller flera källtabeller för SELECT.
- tabellnamn: Namnet på en befintlig tabell som du vill fråga.
Vad är DISTINCT i PostgreSQL?
Ocuco-landskapet TYDLIG klausul i PostgreSQL används med ett SELECT-uttryck för att ta bort dubbletter av rader från resultatmängden. När en kolumn innehåller upprepade värden returnerar SELECT DISTINCT endast de unika värdena, hållping en enda rad för varje grupp av dubbletter. Detta är användbart när du vill ha en lista med distinkta poster, till exempel unika kundstäder eller produktkategorier, utan upprepningar.
DISTINCT utvärderar alla kolumner som listas i SELECT-satsen för att avgöra om en rad är unik. PostgreSQL tillhandahåller även DISTINCT ON, som returnerar den första raden för varje distinkt värde i ett angivet uttryck. Du kan kombinera DISTINCT med ORDER BY för att kontrollera vilka rader som visas och med LIMIT för att begränsa antalet resultat.
PostgreSQL Välj Statement i SQL Shell
Steg 1) Vi har en tabell med texten "tutorials" med två kolumner, "id" och "tutorial_name". Låt oss fråga den. Använd följande fråga för att lista data i tabellen:
SELECT id,tutorial_name FROM tutorials;
OBS: Använd kommandot \c för att ansluta till databasen som innehåller tabellen du vill fråga. I vårt fall är vi anslutna till databasen guru99.
Steg 2) Om du vill visa alla kolumner i en viss tabell kan vi använda jokertecknet asterisk (*). Det betyder att alla möjligheter kontrolleras och att varje kolumn returneras.
SELECT * FROM tutorials;
Den visar alla poster i handledningstabellen.
Steg 3) Du kan använda ORDER-satsen för att sortera data i en tabell baserat på en viss kolumn. ORDER-satsen organiserar data i A till Ö-ordning.
SELECT * FROM tutorials ORDER BY id;
Du kan sortera från Z till A med "DESC" efter "ORDER BY"-satsen.
SELECT * FROM tutorials ORDER BY id DESC;
Steg 4) SELECT DISTINCT i PostgreSQL klausul kan användas för att ta bort dubbletter av rader från resultatet. Den behåller en rad för varje grupp av dubbletter.
Syntax: SELECT DISTINCT column_1 FROM table_name;
Låt oss fråga Postgres Select Distinct id-värden från våra tabellhandledningar med hjälp av distinkta frågor i PostgreSQL:
SELECT DISTINCT(id) FROM tutorials;
Steg 5) Du kan använda PostgreSQL LIMIT-klausul för att begränsa antalet poster som returneras av SELECT-frågan.
SELECT * FROM tutorials LIMIT 4;
PostgreSQL Välj uttalande i pgAdmin
Steg 1) I objektträdet:
- Högerklicka på tabellen.
- Välj Skript.
- Klicka på VÄLJ SKRIPT.
Steg 2) I panelen till höger:
- Redigera SELECT-frågan om det behövs.
- Klicka på blixtikonen.
- Observera utgången.
DISTINCT på flera kolumner
SELECT DISTINCT-satsen kan också gälla för mer än en kolumn. När du listar flera kolumner efter DISTINCT, PostgreSQL behandlar kombinationen av dessa kolumner som en enhet och tar bort rader där hela kombinationen är duplicerad.
Syntax: SELECT DISTINCT column_1, column_2 FROM table_name;
Till exempel, för att returnera de unika kombinationerna av tutorial_name och id från tutorials-tabellen:
SELECT DISTINCT tutorial_name, id FROM tutorials;
I det här fallet tas en rad endast bort när både tutorial_name och id matchar en annan rad. Om två rader delar samma tutorial_name men har olika id-värden behålls båda, eftersom kombinationen fortfarande är unik. Det här beteendet är viktigt att komma ihåg: DISTINCT avduplicerar inte en enskild kolumn när flera kolumner är valda; den avduplicerar hela uppsättningen valda kolumner tillsammans.
DISTINCT kontra GROUP BY i PostgreSQL
Både DISTINCT och GROUP BY kan ta bort dubbletter, men de tjänar olika syften:
- TYDLIG returnerar helt enkelt unika rader från resultatet och är bäst när du bara behöver en deduplicerad lista.
- GRUPP AV grupperar rader som delar ett värde så att du kan använda aggregeringsfunktioner som ANTAL, SUMMA eller AVG till varje grupp.
Till exempel returnerar de två frågorna nedan båda de unika id-värdena:
SELECT DISTINCT id FROM tutorials; SELECT id FROM tutorials GROUP BY id;
Använd DISTINCT för en enkel lista med unika värden, och använd GROUP BY när du också behöver en beräkning per grupp, till exempel att räkna hur många handledningar som delar varje id. Vid enkla frågor producerar planeraren ofta liknande prestanda för båda, men GROUP BY krävs när aggregering är inblandat.
Fusklapp
SELECT [column names] FROM [table_name] [clause]
Här är de olika parametrarna:
- kolumnnamn: Namn på de kolumner vars värde du vill hämta.
- FRÅN: FROM-klausulen definierar en eller flera källtabeller för SELECT.
- tabellnamn: Namnet på en befintlig tabell som du vill fråga.
Olika klausuler är:
| Kommandon | BESKRIVNING |
|---|---|
| * | Hämtar poster för alla rader i tabellen. |
| TYDLIG | SKÄRNA i PostgreSQL hjälper dig att ta bort dubbletter från resultatet. |
| SORTERA EFTER | Sorterar rader baserat på en kolumn. Standard sorteringsordning är stigande. Använd nyckelordet DESC för att sortera i fallande ordning. |
| BEGRÄNSA | LIMIT i PostgreSQL begränsar antalet poster som returneras av frågan. |









