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.