SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Wybierz wyróżniający SQLite

Podsumowanie :w tym samouczku dowiesz się, jak używać SQLite SELECT DISTINCT klauzula, aby usunąć zduplikowane wiersze w zestawie wyników.

Wprowadzenie do SQLite SELECT DISTINCT klauzula

DISTINCT klauzula jest opcjonalną klauzulą ​​SELECT oświadczenie. DISTINCT klauzula umożliwia usunięcie zduplikowanych wierszy w zestawie wyników.

Poniższa instrukcja ilustruje składnię DISTINCT klauzula:

SELECT DISTINCT	select_list
FROM table;Code language: SQL (Structured Query Language) (sql)

W tej składni:

  • Po pierwsze, DISTINCT klauzula musi pojawić się bezpośrednio po SELECT słowo kluczowe.
  • Po drugie, umieszczasz kolumnę lub listę kolumn po DISTINCT słowo kluczowe. Jeśli używasz jednej kolumny, SQLite używa wartości z tej kolumny do oceny duplikatu. Jeśli używasz wielu kolumn, SQLite używa kombinacji wartości w tych kolumnach do oceny duplikatu.

SQLite uważa NULL wartości jako duplikaty. Jeśli używasz DISTINCT klauzula z kolumną, która ma NULL wartości, SQLite zachowa jeden wiersz NULL wartość.

W teorii baz danych, jeśli kolumna zawiera NULL wartości, oznacza to, że nie mamy informacji o tej kolumnie poszczególnych rekordów lub informacje te nie mają zastosowania.

Na przykład, jeśli klient ma numer telefonu z NULL wartość, oznacza to, że nie mamy informacji o numerze telefonu klienta w momencie rejestrowania informacji o kliencie lub klient może w ogóle nie mieć numeru telefonu.

SQLite SELECT DISTINCT przykłady

Będziemy korzystać z customers tabeli w przykładowej bazie danych do demonstracji.

Załóżmy, że chcesz poznać miasta, w których znajdują się klienci, możesz użyć SELECT oświadczenie, aby pobrać dane z city kolumna customers tabela w następujący sposób:

SELECT city
FROM customers
ORDER BY city;Code language: SQL (Structured Query Language) (sql)

Wypróbuj

Zwraca 59 wierszy. Istnieje kilka zduplikowanych wierszy, takich jak Berlin London i Mountain View Aby usunąć te zduplikowane wiersze, użyj DISTINCT klauzula w następujący sposób:

SELECT DISTINCT city
FROM customers
ORDER BY city;Code language: SQL (Structured Query Language) (sql)

Wypróbuj

Zwraca 53 wiersze, ponieważ DISTINCT klauzula usunęła 6 zduplikowanych wierszy.

SQLite SELECT DISTINCT na wielu kolumnach

Poniższe stwierdzenie zawiera miasta i kraje wszystkich klientów.

SELECT
	city,
	country
FROM
	customers
ORDER BY
	country;Code language: SQL (Structured Query Language) (sql)

Wypróbuj

Zestaw wyników zawiera zduplikowane miasto i kraj, np. Sao Paulo w Brazylii, jak pokazano na powyższym zrzucie ekranu.

Aby usunąć duplikat miasta i kraju, zastosuj DISTINCT klauzulę do kolumn miasta i kraju, jak pokazano w następującym zapytaniu:

SELECT  DISTINCT
	city,
	country
FROM
	customers
ORDER BY
	country;Code language: SQL (Structured Query Language) (sql)

Oto częściowe wyjście:

Jak wspomniano wcześniej, SQLite używa kombinacji miasta i kraju do oceny duplikatu.

SQLite SELECT DISTINCT z NULL przykład

To oświadczenie zwraca nazwy firm klientów od customers tabela.

SELECT company
FROM customers;Code language: SQL (Structured Query Language) (sql)

Wypróbuj

Zwraca 59 wierszy z wieloma NULL wartości.

Teraz, jeśli zastosujesz DISTINCT klauzuli instrukcji, zachowa tylko jeden wiersz z NULL wartość.

Zobacz następujące oświadczenie:

SELECT DISTINCT company
FROM customers;Code language: SQL (Structured Query Language) (sql)

Wypróbuj

Instrukcja zwraca 11 wierszy z jednym NULL wartość.

Zauważ, że jeśli wybierzesz listę kolumn z tabeli i chcesz uzyskać unikalną kombinację niektórych kolumn, możesz użyć GROUP BY klauzula.

W tym samouczku nauczyłeś się, jak usuwać zduplikowane wiersze z zestawu wyników za pomocą SQLite SELECT DISTINCT klauzula.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kopiowanie sqlite w zasobach Android Studio nie działa

  2. Co to jest przeglądarka SQLite i jak z niej korzystać?

  3. SQLite JSON_TREE()

  4. Jak sprawić, by operator LIKE SQLite uwzględniał wielkość liter?

  5. Aplikacja ulega awarii podczas instalacji z błędem sqlite3_exec — Nie można ustawić trybu synchronicznego =1 (normalny)