sql >> Database teknologi >  >> RDS >> Database

Hvordan man ikke viser dubletter i SQL

Problem:

Du vil gerne vise ikke-duplikerede poster i SQL.

Eksempel:

Vores database har en tabel med navnet City med data i kolonnerne id , name og country .

id navn land
1 Madrid Spanien
2 Barcelona Spanien
3 Warszawa Polen
4 Krakow Polen

Lad os få navnene på landene uden dubletter.

Løsning:

Vi bruger søgeordet DISTINCT . Her er forespørgslen:

SELECT
DISTINCT country
FROM City;

Her er resultatet af forespørgslen:

land
Spanien
Polen

Diskussion:

Hvis du ønsker, at forespørgslen kun skal returnere unikke rækker, skal du bruge søgeordet DISTINCT efter SELECT . DISTINCT kan bruges til at hente unikke rækker fra en eller flere kolonner. Du skal angive kolonnerne efter DISTINCT søgeord.

Hvordan fungerer det under motorhjelmen? Når forespørgslen udføres, vælges hele datasættet først, derefter DISTINCT fjerner de rækker, der er duplikeret givet de valgte kolonner.

I vores eksempel optræder både Spanien og Polen to gange i tabellen. Men efter at have anvendt søgeordet DISTINCT , hver af dem returneres kun én gang.


  1. PostgreSQL:hvordan man installerer plpythonu-udvidelsen

  2. Datotype uden tid i Oracle

  3. Brug af isql med en forbindelsesstreng

  4. Fejl under forbindelse til postgresql ved hjælp af sqlalchemy