VERSCHILLEND in PostgreSQL: Selecteer, bestel op en limiet (voorbeelden)
โก Slimme samenvatting
VERSCHILLEND in PostgreSQL Deze functie wordt gebruikt in combinatie met een SELECT-instructie om dubbele rijen te verwijderen en alleen unieke waarden terug te geven. Het behandelt de SELECT-syntaxis, de SQL Shell en pgAdmin, DISTINCT op enkele en meerdere kolommen, en DISTINCT versus GROUP BY.

U kunt gegevens uit de tabel ophalen met behulp van een SELECT-instructie.
Syntax:
SELECT [column names] FROM [table_name]
Hier
- kolomnamen: Namen van de kolommen waarvan u de waarde wilt ophalen.
- VAN: De FROM-clausule definieert een of meer brontabellen voor de SELECT-query.
- tafel naam: De naam van een bestaande tabel die u wilt opvragen.
Wat is onderscheidend in PostgreSQL?
De DISTINCT clausule in PostgreSQL SELECT DISTINCT wordt gebruikt in combinatie met een SELECT-instructie om dubbele rijen uit de resultatenset te verwijderen. Wanneer een kolom herhaalde waarden bevat, retourneert SELECT DISTINCT alleen de unieke waarden.ping Een enkele rij voor elke groep duplicaten. Dit is handig wanneer u een lijst met unieke items wilt, zoals unieke klantsteden of productcategorieรซn, zonder herhaling.
DISTINCT evalueert alle kolommen die in de SELECT-instructie worden vermeld om te bepalen of een rij uniek is. PostgreSQL De functie DISTINCT ON retourneert de eerste rij voor elke unieke waarde van een opgegeven expressie. U kunt DISTINCT combineren met ORDER BY om te bepalen welke rijen worden weergegeven en met LIMIT om het aantal resultaten te beperken.
PostgreSQL Selecteer Instructie in SQL Shell
Stap 1) We hebben een tabel "tutorials" met 2 kolommen, "id" en "tutorial_name". Laten we deze tabel bevragen. Gebruik de volgende query om de gegevens in de tabel weer te geven:
SELECT id,tutorial_name FROM tutorials;
NOTITIE: Gebruik de opdracht \c om verbinding te maken met de database die de tabel bevat die u wilt opvragen. In ons geval maken we verbinding met de database guru99.
Stap 2) Als u alle kolommen in een bepaalde tabel wilt bekijken, kunt u het jokerteken asterisk (*) gebruiken. Dit betekent dat alle mogelijkheden worden gecontroleerd en dat alle kolommen worden weergegeven.
SELECT * FROM tutorials;
Het toont alle records van de tabel met tutorials.
Stap 3) U kunt de ORDER-clausule gebruiken om gegevens in een tabel te sorteren op basis van een bepaalde kolom. De ORDER-clausule organiseert gegevens in de volgorde van A tot Z.
SELECT * FROM tutorials ORDER BY id;
U kunt sorteren van Z tot A met behulp van โDESCโ na de instructie โORDER BYโ.
SELECT * FROM tutorials ORDER BY id DESC;
Stap 4) De SELECT DISTINCT in PostgreSQL -clausule kan worden gebruikt om dubbele rijen uit het resultaat te verwijderen. Er wordt รฉรฉn rij bijgehouden voor elke groep duplicaten.
Syntax: SELECT DISTINCT column_1 FROM table_name;
Laten we in PostgreSQL unieke ID-waarden uit onze tabel selecteren met behulp van DISTINCT-query's. PostgreSQL:
SELECT DISTINCT(id) FROM tutorials;
Stap 5) U kunt gebruik maken van de PostgreSQL De LIMIT-clausule wordt gebruikt om het aantal records te beperken dat door de SELECT-query wordt geretourneerd.
SELECT * FROM tutorials LIMIT 4;
PostgreSQL Selecteer de verklaring in pgAdmin
Stap 1) In de objectstructuur:
- Klik met de rechtermuisknop op de tabel.
- Selecteer scripts.
- Klik op SELECTEER SCRIPT.
Stap 2) In het paneel aan de rechterkant:
- Bewerk de SELECT-query indien nodig.
- Klik op het bliksemicoon.
- Bekijk de uitvoer.
Onderscheidend op meerdere kolommen
De SELECT DISTINCT-clausule kan ook van toepassing zijn op meer dan รฉรฉn kolom. Wanneer u meerdere kolommen na DISTINCT opgeeft, PostgreSQL Behandelt de combinatie van die kolommen als รฉรฉn geheel en verwijdert rijen waarin die hele combinatie dubbel voorkomt.
Syntax: SELECT DISTINCT column_1, column_2 FROM table_name;
Om bijvoorbeeld de unieke combinaties van tutorial_name en id uit de tabel tutorials op te halen:
SELECT DISTINCT tutorial_name, id FROM tutorials;
In dit geval wordt een rij alleen verwijderd als zowel de tutorial_name als de id overeenkomen met een andere rij. Als twee rijen dezelfde tutorial_name hebben, maar verschillende id-waarden, worden beide behouden, omdat de combinatie nog steeds uniek is. Dit gedrag is belangrijk om te onthouden: DISTINCT verwijdert geen duplicaten uit รฉรฉn enkele kolom wanneer meerdere kolommen zijn geselecteerd; het verwijdert duplicaten uit de volledige set geselecteerde kolommen tegelijk.
Onderscheidend versus Groeperen op in PostgreSQL
Zowel DISTINCT als GROUP BY kunnen dubbele waarden verwijderen, maar ze dienen verschillende doelen:
- DISTINCT Deze functie retourneert simpelweg unieke rijen uit het resultaat en is het meest geschikt wanneer je alleen een lijst zonder duplicaten nodig hebt.
- GROEP DOOR groepeert rijen die een gemeenschappelijke waarde hebben, zodat u aggregatiefuncties zoals COUNT, SUM of kunt toepassen. AVG aan elke groep.
De twee onderstaande query's retourneren bijvoorbeeld beide de unieke ID-waarden:
SELECT DISTINCT id FROM tutorials; SELECT id FROM tutorials GROUP BY id;
Gebruik DISTINCT voor een eenvoudige lijst met unieke waarden en GROUP BY wanneer u ook een berekening per groep nodig hebt, bijvoorbeeld om te tellen hoeveel tutorials een bepaalde ID delen. Bij eenvoudige query's levert de queryplanner vaak vergelijkbare prestaties op voor beide methoden, maar GROUP BY is vereist wanneer er sprake is van aggregatie.
Cheatsheet
SELECT [column names] FROM [table_name] [clause]
Hieronder vindt u de verschillende parameters:
- kolomnamen: Namen van de kolommen waarvan u de waarde wilt ophalen.
- VAN: De FROM-clausule definieert een of meer brontabellen voor de SELECT-query.
- tafel naam: De naam van een bestaande tabel die u wilt opvragen.
Verschillende clausules zijn:
| commando's | Beschrijving |
|---|---|
| * | Haalt records op voor alle rijen in de tabel. |
| DISTINCT | VERSCHILLEND in PostgreSQL Hiermee kunt u duplicaten uit het resultaat verwijderen. |
| BESTELLING DOOR | Sorteert rijen op basis van een kolom. De standaard sorteervolgorde is oplopend. Gebruik het trefwoord DESC om in aflopende volgorde te sorteren. |
| LIMIT | LIMIET in PostgreSQL beperkt het aantal records dat door de query wordt geretourneerd. |








