sql >> Databasteknik >  >> RDS >> Database

Hur man inte visar dubbletter i SQL

Problem:

Du vill visa icke-duplicerade poster i SQL.

Exempel:

Vår databas har en tabell som heter City med data i kolumnerna id , name och country .

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

Låt oss få namnen på länderna utan dubbletter.

Lösning:

Vi använder sökordet DISTINCT . Här är frågan:

SELECT
DISTINCT country
FROM City;

Här är resultatet av frågan:

land
Spanien
Polen

Diskussion:

Om du vill att frågan endast ska returnera unika rader, använd nyckelordet DISTINCT efter SELECT . DISTINCT kan användas för att hämta unika rader från en eller flera kolumner. Du måste lista kolumnerna efter DISTINCT nyckelord.

Hur fungerar det under huven? När frågan exekveras väljs hela uppsättningen av data först, sedan DISTINCT tar bort raderna som dupliceras med de valda kolumnerna.

I vårt exempel förekommer både Spanien och Polen två gånger i tabellen. Men efter att ha tillämpat sökordet DISTINCT , var och en av dem returneras endast en gång.


  1. Hur ersätter man specifika värden i en Oracle-databaskolumn?

  2. Infoga data i SQL Server 2017

  3. Android SQLite problem - tabell ... har ingen kolumn namngiven

  4. Exempel på att konvertera "datum" till "datetimeoffset" i SQL Server (T-SQL)