logo

WYRÓŻNIONA LICZBA SQL

Zanim zrozumiemy koncepcję funkcji Count ze słowem kluczowym DISTINCT, musimy poznać słowa kluczowe Count i Distinct. Zacznijmy więc od funkcji Count.

Co to jest liczba w SQL?

COUNT to funkcja w Structured Query Language, która pokazuje liczbę rekordów z tabeli w wyniku. W SQL jest zawsze używany w zapytaniu SELECT.

Poniżej podano składnię funkcji Count:

 SELECT COUNT(Name_of_Column) FROM Name_of_Table; 

W przykładzie count musimy zdefiniować nazwę kolumny w nawiasie tuż po słowie kluczowym COUNT.

Przykład funkcji zliczania

W pierwszej kolejności musimy stworzyć nową tabelę, na której ma zostać wykonana funkcja count.

Następujące zapytanie tworzy plik Nauczyciel_Szczegóły stół z Identyfikator_nauczyciela jako klucz podstawowy za pomocą instrukcji CREATE TABLE:

 CREATE TABLE Teacher_Details ( Teacher_ID INT NOT NULL, Teacher_Name varchar(100), Teacher_Qualification varchar(50), Teacher_Age INT, Teacher_Interview_Marks INT ); 

Poniższe zapytania SQL wstawiają rekord nowych nauczycieli do powyższej tabeli za pomocą instrukcji INSERT INTO:

 INSERT INTO Teacher_Details VALUES (101, Anuj, B.tech, 20, 88); INSERT INTO Teacher_Details VALUES (102, Raman, MCA, 24, NULL); INSERT INTO Teacher_Details VALUES (104, Shyam, BBA, 19, 92); INSERT INTO Teacher_Details VALUES (107, Vikash, B.tech, 20, NULL); INSERT INTO Teacher_Details VALUES (111, Monu, MBA, 21, NULL); INSERT INTO Teacher_Details VALUES (114, Jones, B.tech, 18, 93); INSERT INTO Teacher_Details VALUES (121, Parul, BCA, 20, 97); INSERT INTO Teacher_Details VALUES (123, Divya, B.tech, 21, NULL); INSERT INTO Teacher_Details VALUES (128, Hemant, MBA, 23, 90); INSERT INTO Teacher_Details VALUES (130, Nidhi, BBA, 20, 88); INSERT INTO Teacher_Details VALUES (132, Priya, MBA, 22, NULL); INSERT INTO Teacher_Details VALUES (138, Mohit, MCA, 21, 92); 

Zobaczmy zapis powyższej tabeli za pomocą następującej instrukcji SELECT:

 SELECT * FROM Teacher_Details; 

Identyfikator_nauczyciela Imię nauczyciela Kwalifikacja nauczyciela Nauczyciel_Wiek Nauczyciel_Wywiad_Oceny
101 Anuj B.tech 20 88
102 Ramana MCA 24 ZERO
104 Shyam BBA 19 92
107 Wikasz B.tech 20 ZERO
111 Monu MBA dwadzieścia jeden ZERO
114 Jonesa B.tech 18 93
121 Włosy BCA 20 97
123 Divya B.tech dwadzieścia jeden ZERO
128 Hemant MBA 23 90
130 Nidhi BBA 20 88
132 Priya MBA 22 ZERO
138 Mohit MCA dwadzieścia jeden 92

Poniższe zapytanie zlicza całkowite wartości kolumny Teacher_Age z tabeli Teacher_Details:

 SELECT COUNT (Teacher_Age) AS Total_Teachers_Age_Column FROM Teacher_Details; 

Wyjście:

WYRÓŻNIONA LICZBA SQL

Wynikiem powyższego zapytania SELECT jest dwanaście, ponieważ Nauczyciel_Wiek pole nie zawiera żadnej wartości NULL.

Poniższe zapytanie zlicza całkowite wartości Teacher_Interview_Column z powyższej tabeli:

 SELECT COUNT (Teacher_Interview_Marks) AS Total_Teachers_Interview_Marks FROM Teacher_Details; 

To zapytanie wyświetli na ekranie poniższe dane wyjściowe:

WYRÓŻNIONA LICZBA SQL

Wynikiem powyższego zapytania SELECT jest 7, ponieważ dwie pięć komórek kolumny Teacher_Interview_Marks zawiera NULL. I te pięć wartości NULL jest wykluczonych. Dlatego zapytanie SELECT wyświetla w wyniku 7 zamiast 12.

Co to jest funkcja Count(*)?

Jest to również podobne do funkcji Count, ale jedyną różnicą jest to, że wyświetla również liczbę wartości NULL z tabeli.

Poniżej podana jest składnia funkcji Count (*):

 SELECT COUNT(*) FROM Name_of_Table; 

Przykład:

Weźmy powyższe Teacher_Details:

Identyfikator_nauczyciela Imię nauczyciela Kwalifikacja nauczyciela Nauczyciel_Wiek Nauczyciel_Wywiad_Oceny
101 Anuj B.tech 20 88
102 Ramana MCA 24 ZERO
104 Shyam BBA 19 92
107 Wikasz B.tech 20 ZERO
111 Monu MBA dwadzieścia jeden ZERO
114 Jonesa B.tech 18 93
121 Włosy BCA 20 97
123 Divya B.tech dwadzieścia jeden ZERO
128 Hemant MBA 23 90
130 Nidhi BBA 20 88
132 Priya MBA 22 ZERO
138 Mohit MCA dwadzieścia jeden 92

Poniższe zapytanie zlicza całkowite wartości Total_Interview_Marks kolumna z powyższej tabeli:

 SELECT COUNT (*) FROM Teacher_Details; 

Powyższe zapytanie SELECT z COUNT(*) da na ekranie poniższy wynik:

WYRÓŻNIONA LICZBA SQL

Co to jest DISTINCT w SQL?

Słowo kluczowe DISTINCT pokazuje w wyniku unikalne wiersze kolumny z tabeli.

Poniżej podana jest składnia słowa kluczowego DISTINCT:

 SELECT DISTINCT Name_of_Column FROM Table_Name WHERE [condition]; 

W zapytaniu DISTINCT możemy także zdefiniować warunek w klauzuli WHERE umożliwiający pobranie określonych wartości.

Przykład DISTINCT

Najpierw utwórz nową tabelę, na której ma zostać uruchomione słowo kluczowe Distinct.

Następujące zapytanie tworzy plik Rower_Szczegóły tabelę za pomocą instrukcji CREATE TABLE:

 CREATE TABLE Bike_Details ( Bike_Name varchar(100), Bike_Model INT, Bike_Color varchar(50), Bike_Cost INT ); 

Poniższe zapytania SQL wstawiają do tabeli rekord nowych rowerów za pomocą instrukcji INSERT INTO:

 INSERT INTO Bike_Details VALUES (KTM DUKE, 2019, Black, 185000); INSERT INTO Bike_Details VALUES (royal Infield, 2020, Black, 165000); INSERT INTO Bike_Details VALUES (Pulsar, 2018, Red, 90000); INSERT INTO Bike_Details VALUES (Apache, 2020, White, 85000); INSERT INTO Bike_Details VALUES (Livo, 2018, Black, 80000); INSERT INTO Bike_Details VALUES (KTM RC, 2020, Red, 195000); 

Rekordy powyższej tabeli są wyświetlane przy użyciu następującego zapytania SELECT:

 SELECT * FROM Bike_Details; 

Nazwa_roweru Model_roweru Rower_Kolor Koszt_roweru
KTM DUKE 2019 Czarny 185000
Królewskiego Enfielda 2020 Czarny 165000
Naciskać 2018 Czerwony 90000
Apacz 2020 Biały 85 000
Na żywo 2018 Czarny 80 000
KTM RC 2020 Czerwony 195 000

Tabela: Rower_Szczegóły

Poniższe zapytanie SQL różni się od powyższych wartości kolumny Kolor Rower_Szczegóły tabela:

 SELECT DISTINCT Bike_Color FROM Bikes ; 

Wyjście:

WYRÓŻNIONA LICZBA SQL

Jak widzimy, Czarny, Czerwony i Biały to trzy różne wartości w kolumnie Bike_Color.

Funkcja zliczania ze słowem kluczowym DISTINCT

Słowo kluczowe DISTINCT z funkcją COUNT w zapytaniu SELECT wyświetla liczbę unikalnych danych pola z tabeli.

Poniżej podano składnię funkcji Count ze słowem kluczowym DISTINCT:

 SELECT COUNT(DISTINCT (Column_Name) FROM table_name WHERE [condition]; 

Przykłady funkcji Count ze słowem kluczowym DISTINCT

Poniższe dwa przykłady SQL wyjaśnią wykonanie funkcji Count ze słowem kluczowym Distinct:

Przykład 1:

Poniższe zapytanie tworzy tabelę College_Students z czterema polami:

 CREATE TABLE College_Students ( Student_Id INT NOT NULL, Student_Name Varchar (40), Student_Age INT, Student_Marks INT ); 

Następujące zapytanie INSERT wstawia rekord studentów do tabeli College_Students:

 INSERT INTO College_Students (Student_Id, Student_Name, Student_Age, Student_Marks) VALUES (101, Akhil, 28, 95), (102, Abhay, 27, 86), (103, Sorya, 26, 79), (104, Abhishek, 27, 66), (105, Ritik, 26, 79), (106, Yash, 29, 88); 

Poniższe zapytanie wyświetla szczegóły tabeli College_Students:

 SELECT * FROM College_Students; 

Legitymacja studencka Imię_ucznia Wiek_ucznia Oceny_uczniów
101 Akhil 28 95
102 Abhay 27 86
103 Soria 26 79
104 Abhiszek 27 66
105 Hrithik 26 79
106 Yash 29 88

Tabela: Studenci_kolegium

Następująca instrukcja SQL zlicza unikalne wartości kolumny Student_Age z tabeli College_Students:

 SELECT COUNT (DISTINCT (Student_Age) AS Unique_Age FROM College_Students ; 

To zapytanie wyświetli w wynikach poniższą tabelę:

WYRÓŻNIONA LICZBA SQL

Dane wyjściowe pokazują cztery wartości, ponieważ kolumna Teacher_age zawiera 4 unikalne wartości.

Przykład 2:

Poniższe zapytanie tworzy tabelę IT_Employee z czterema polami:

 CREATE TABLE IT_Employee ( Employee_Id INT NOT NULL, Employee_Name Varchar (40), Emp_Age INT, Employee_Salary INT ); 

Następujące zapytanie INSERT wstawia rekord pracowników IT do tabeli IT_Employee:

przykłady dfa
 INSERT INTO IT_Employee (Employee_Id, Employee_Name, Employee_Age, Employee_Salary) VALUES (101, Akhil, 28, 25000), (102, Abhay, 27, 26000), (103, Sorya, 26, 29000), (104, Abhishek, 27, 26000), (105, Ritik, 26, 29000), (106, Yash, 29, 25000); 

Poniższe zapytanie wyświetla szczegóły tabeli IT_Employee:

 SELECT * FROM IT_Employee; 

Dowód pracownika Imię i nazwisko pracownika Wiek_pracownika Pracownik_Wynagrodzenie
101 Akhil 28 25000
102 Abhay 27 26000
103 Soria 26 29000
104 Abhiszek 27 26000
105 Hrithik 26 29000
106 Yash 29 25000

Tabela: IT_Pracownik

Poniższa instrukcja SQL zlicza tylko unikalne wartości kolumny Emp_Age z powyższej tabeli IT_Employee:

 SELECT COUNT (DISTINCT (Employee_Age)) AS Unique_Age FROM IT_Employee ; 

To zapytanie da poniższe dane wyjściowe:

WYRÓŻNIONA LICZBA SQL