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.

  • ๐Ÿ”Ž KIES: Kolommen uit een tabel ophalen met SELECT column FROM table.
  • ๐Ÿงน VERSCHILLEND: Verwijder dubbele rijen en behoud รฉรฉn rij per unieke waarde.
  • โ€‹ BESTEL DOOR: Sorteer standaard oplopend, of aflopend met DESC.
  • ๐Ÿ”ข BEPERKEN: Beperk het aantal records dat de query retourneert.
  • โ€‹ Tools: Voer dezelfde query's uit in de SQL Shell of pgAdmin.

VERSCHILLEND in PostgreSQL

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;

PostgreSQL Selecteer Instructie in SQL Shell

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;

PostgreSQL Selecteer Instructie in SQL Shell

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;

PostgreSQL Selecteer Instructie in SQL Shell

U kunt sorteren van Z tot A met behulp van โ€œDESCโ€ na de instructie โ€œORDER BYโ€.

SELECT * FROM tutorials ORDER BY id DESC;

PostgreSQL Selecteer Instructie in SQL Shell

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;

PostgreSQL Selecteer Instructie in SQL Shell

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 Instructie in SQL Shell

PostgreSQL Selecteer de verklaring in pgAdmin

Stap 1) In de objectstructuur:

  1. Klik met de rechtermuisknop op de tabel.
  2. Selecteer scripts.
  3. Klik op SELECTEER SCRIPT.

PostgreSQL Selecteer de verklaring in pgAdmin

Stap 2) In het paneel aan de rechterkant:

  1. Bewerk de SELECT-query indien nodig.
  2. Klik op het bliksemicoon.
  3. Bekijk de uitvoer.

PostgreSQL Selecteer de verklaring in pgAdmin

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.

Veelgestelde vragen

Ja. AI-assistenten kunnen een beschrijving omzetten in SELECT DISTINCT-instructies, ORDER BY of LIMIT toevoegen en het resultaat toelichten. Je moet de query echter nog steeds testen op je eigen schema voordat je deze in productie uitvoert.

Ja. AI-tools kunnen het queryplan van EXPLAIN ANALYZE lezen en suggesties doen voor indexen of het herschrijven van DISTINCT naar GROUP BY. Valideer suggesties altijd met echte data, aangezien de prestaties afhangen van de tabelgrootte en de indexen.

DISTINCT verwijdert dubbele rijen in alle geselecteerde kolommen. DISTINCT ON (expressie) behoudt de eerste rij voor elke unieke waarde van die expressie, waardoor je รฉรฉn rij per groep kunt selecteren, meestal in combinatie met ORDER BY.

DISTINCT kan trager zijn bij grote tabellen omdat het dubbele waarden moet vergelijken en verwijderen, vaak met behulp van een sorteer- of hashfunctie. De juiste indexen en het beperken van de geselecteerde kolommen helpen de kosten te verlagen.

Vat dit bericht samen met: