Problém:
Chcete zobrazit neduplicitní záznamy v SQL.
Příklad:
Naše databáze obsahuje tabulku s názvem City
s údaji ve sloupcích id
, name
a country
.
id | jméno | země |
---|---|---|
1 | Madrid | Španělsko |
2 | Barcelona | Španělsko |
3 | Varšava | Polsko |
4 | Krakov | Polsko |
Pojďme získat názvy zemí bez duplikátů.
Řešení:
Použijeme klíčové slovo DISTINCT
. Zde je dotaz:
SELECT DISTINCT country FROM City;
Zde je výsledek dotazu:
země |
---|
Španělsko |
Polsko |
Diskuse:
Pokud chcete, aby dotaz vracel pouze jedinečné řádky, použijte klíčové slovo DISTINCT
za SELECT
. DISTINCT
lze použít k načtení jedinečných řádků z jednoho nebo více sloupců. Musíte uvést sloupce za DISTINCT
klíčové slovo.
Jak to funguje pod kapotou? Po provedení dotazu je nejprve vybrána celá sada dat a poté DISTINCT
odstraní řádky, které jsou duplikovány vzhledem k vybraným sloupcům.
V našem příkladu se Španělsko i Polsko v tabulce vyskytují dvakrát. Nicméně po použití klíčového slova DISTINCT
, každý z nich je vrácen pouze jednou.