Database
 sql >> Baza danych >  >> RDS >> Database

Jak wyeliminować zduplikowane wiersze w SQL?

Problem:

Chcesz wyeliminować zduplikowane wiersze ze zbioru wyników zapytania, tak aby każdy wiersz pojawiał się tylko raz.

Przykład:

Nasza baza danych zawiera tabelę o nazwie clothes z danymi w następujących kolumnach:id , name , color i year_produced .

id imię kolor year_produced
1 koszulka żółty 2015
2 kurtka niebieski 2016
3 dżinsy czarny 2015
4 kurtka niebieski 2015
5 kurtka zielony 2016
6 kurtka żółty 2017
7 kapelusz żółty 2017

Zdobądźmy niepowtarzające się nazwy i kolory ubrań wyprodukowanych przed 2017 rokiem.

Rozwiązanie:

SELECT DISTINCT name,
  color
FROM clothes
WHERE year_produced < 2017;

Oto wynik:

nazwa kolor
Koszulka żółty
kurtka niebieski
dżinsy czarny
kurtka zielony

Zwróć uwagę, że niebieski pojawia się tylko raz w tym zestawie wyników, mimo że pojawia się dwa razy w oryginalnej tabeli. Dzieje się tak, ponieważ określiliśmy, że chcemy wybrać tylko te wiersze, dla których kombinacja nazwa-kolor jest unikalna.

Dyskusja:

Po prostu użyj DISTINCT słowo kluczowe po SELECT jeśli chcesz wybrać tylko niepowtarzające się wiersze. To słowo kluczowe wymusza odrzucenie przez zapytanie wszelkich zduplikowanych wierszy na podstawie tylko wymienionych kolumn.

Oto przykład wyboru tylko wierszy, dla których nazwa elementu jest unikalna:

SELECT DISTINCT name
FROM clothes
WHERE year_produced < 2017;

W przeciwieństwie do poprzedniego zapytania, to zwraca tylko trzy rekordy:

nazwa
koszulka
dżinsy

Chociaż w oryginalnej tabeli znajdują się cztery dżinsy (dwa niebieskie, jeden zielony i jeden żółty), element pojawia się w tym zestawie wyników tylko raz dzięki DISTINCT słowo kluczowe.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Algebra relacyjna

  2. Salesforce SOQL z Windows PowerShell

  3. Dedykowana procedura składowana umożliwiająca uzyskanie najnowszego stanu kopii zapasowych bazy danych

  4. Jak używać kursorów SQL do celów specjalnych

  5. KNIME