Zapytanie o odrębne wartości mysql

Zapytanie o odrębne wartości mysql
W większości baz danych często napotykasz duplikat wartości-z wyjątkiem unikalnych kluczy podstawowych. Na przykład baza danych może zawierać tabelę filmową z podobnymi ocenami, rokiem wydania i innymi podobnymi wartościami.

Stąd, aby uzyskać listę unikalnych wartości, takich jak różne typy ocen filmowych, musimy uzyskać tylko unikalne wartości za pomocą odrębnego słowa kluczowego MySQL.

Ten samouczek przejdzie, jak użyć odrębnego słowa kluczowego w zapytaniach MySQL, aby uzyskać unikalne wyniki.

Zanim zaczniemy, zakładamy, że masz zainstalowany w systemie MySQL i możesz wykonywać operacje w bazach danych.

Jeśli potrzebujesz przykładowej bazy danych do pracy, rozważ bazę danych Sakila w zasobach podanym poniżej:

https: // dev.Mysql.com/doc/index-inni.html

Podstawowe użycie

Ogólna składnia dla klauzuli odrębnej MySQL jest:

Wybierz odrębny lista kolumn z Table_name;

Tutaj lista kolumn to zestaw kolumn, które chcesz odzyskać oddzielone przez przecinki. Nazwa tabeli to tabela, z której można wybrać wspomniane wartości.

Przykładowy przypadek użycia

Zilustrujmy teraz, jak używać MySQL wyraźny za pomocą przykładu. Używamy bazy danych Sakila do ilustracji.

W bazie danych Sakila znajdziesz tabelę aktorów, która zawiera pola, jak pokazano w poniższym poleceniu:

Desc Sakila.aktor;

Wyjście opisujące pola tabeli pokazano poniżej:

mysql> dec sakila.aktor;
+-------------+-------------------+------+-----+
|. Pole | Typ | NULL | Klucz |
+-------------+-------------------+------+-----+
|. Actor_id | Smallint Unsigned | Nie |. Pri |
|. First_name | VARCHAR (45) | Nie |. |
|. Last_name | VARCHAR (45) | Nie |. Mul |
|. last_update | znacznik czasu | Nie |. |
+-------------+-------------------+------+-----+

NOTATKA: Skróciłem tę tabelę, aby pokazać tylko istotne informacje.

Jeśli wybierzemy wartości w tabeli i kolejności aktorów według imienia, szanse są wysokie, że będziemy mieć duplikat wartości, jak pokazano w pytaniu poniżej:

Wybierz nazwę pierwszej nazwy, Last_name z Sakila.Zamówienie aktora przez First_name Limit 10;

Ze wyjścia widzimy, że istnieją zduplikowane nazwy, jak pokazano poniżej:

NOTATKA: Ograniczamy wyjście do 10 pierwszych wartości, ponieważ tabela zawiera masywne informacje. Możesz usunąć limit i zobacz, ile jest wartości.

+------------+-------------+
|. First_name | Last_name |
+------------+-------------+
|. Adam | Hopper |
|. Adam | Grant |
|. Al | Garland |
|. Alan | Dreyfuss |
|. Albert | Nolte |
|. Albert | Johansson |
|. Alec | Wayne |
|. Angela | Witherspoon |
|. Angela | Hudson |
|. Angelina | Astaire |
+------------+-------------+
10 wierszy w zestawie (0.00 s)

Korzystając z odrębnej klauzuli w MySQL, możemy filtrować, aby uzyskać unikalne pierwsze nazwy z tej samej tabeli, jak pokazano w zapytaniu poniżej:

Wybierz odrębną nazwę pierwszej nazwy z Sakila.Zamówienie aktora przez First_name Limit 10;

Po wykonaniu powyższego zapytania otrzymamy listę unikalnych imion.

mysql> Wybierz odrębny nazwa_namia z Sakila.Zamówienie aktora przez First_name Limit 10;
+------------+
|. First_name |
+------------+
|. Adam |
|. Al |
|. Alan |
|. Albert |
|. Alec |
|. Angela |
|. Angelina |
|. Anne |
|. Audrey |
|. Bela |
+------------+
10 wierszy w zestawie (0.00 s)

Przykład przypadek użycia: funkcje agregowane

Możesz także użyć wyraźnej w funkcji agregatu MySQL, takiej jak liczba i suma. Na przykład, aby użyć wraz z liczbą z powyższego zapytania, możemy zrobić:

Wybierz liczbę (odrębna nazwa pierwszej) z Sakila.aktor, gdzie last_name = „Berry”;
+----------------------------+
|. Hrabia (odrębna nazwa pierwszej) |
+----------------------------+
|. 3 |
+----------------------------+
1 wiersz w zestawie (0.00 s)

Powyższe zapytanie daje nam liczbę nazw odrębnych imion, w których Last_name jest jagoda.

NOTATKA: Warto pamiętać, że nawet wartości zerowe są uważane za duplikaty według odrębnej klauzuli. Stąd, jeśli masz wiele wartości zerowych, tylko jeden zostanie zwrócony.

Wniosek

Jak widać w tym samouczku, możesz użyć klauzuli odrębnej MySQL, aby pobrać unikalne wartości z pola tabeli zawierającego duplikat.