logo

SQL 카운트 고유

DISTINCT 키워드를 사용한 Count 함수의 개념을 이해하기 전에 Count 및 Distinct 키워드에 대해 알아야 합니다. 그럼 Count 함수부터 시작해 보겠습니다.

SQL에서 카운트란 무엇입니까?

COUNT는 결과에 테이블의 레코드 수를 표시하는 구조적 쿼리 언어의 함수입니다. SQL에서는 항상 SELECT 쿼리에 사용됩니다.

Count 함수의 구문은 다음과 같습니다.

 SELECT COUNT(Name_of_Column) FROM Name_of_Table; 

count 예제에서는 COUNT 키워드 바로 뒤에 괄호 안에 열 이름을 정의해야 합니다.

카운트 기능의 예

먼저, count 함수가 실행될 새 테이블을 생성해야 합니다.

다음 쿼리는 선생님_세부사항 테이블 교사_ID 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 ); 

다음 SQL 쿼리는 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); 

다음 SELECT 문을 사용하여 위 테이블의 레코드를 살펴보겠습니다.

 SELECT * FROM Teacher_Details; 

교사_ID 선생님 성함 교사_자격 교사_나이 교사_면접_점수
101 아누즈 비테크 이십 88
102 라만 MCA 24 없는
104 샤암 BBA 19 92
107 비카시 비테크 이십 없는
111 모누 MBA 이십 일 없는
114 존스 비테크 18 93
121 머리카락 BCA 이십 97
123 디브야 비테크 이십 일 없는
128 헤만트 MBA 23 90
130 니디 BBA 이십 88
132 프리야 MBA 22 없는
138 모히트 MCA 이십 일 92

다음 쿼리는 Teacher_Details 테이블에서 Teacher_Age 열의 총 값을 계산합니다.

 SELECT COUNT (Teacher_Age) AS Total_Teachers_Age_Column FROM Teacher_Details; 

산출:

중위 트리 순회
SQL 카운트 고유

위 SELECT 쿼리의 출력은 12입니다. 교사_나이 필드에는 NULL 값이 없습니다.

다음 쿼리는 위 테이블에서 Teacher_Interview_Column의 총 값을 계산합니다.

 SELECT COUNT (Teacher_Interview_Marks) AS Total_Teachers_Interview_Marks FROM Teacher_Details; 

이 쿼리는 화면에 아래 출력을 표시합니다.

정수를 문자열로 변환 java
SQL 카운트 고유

Teacher_Interview_Marks 열의 2개 5개 셀에 NULL이 포함되어 있으므로 위 SELECT 쿼리의 출력은 7입니다. 그리고 이 5개의 NULL 값은 제외됩니다. 이것이 SELECT 쿼리 결과에 12가 아닌 7이 표시되는 이유입니다.

Count(*) 함수란 무엇인가요?

이는 Count 함수와도 비슷하지만 유일한 차이점은 테이블의 NULL 값 개수도 표시한다는 것입니다.

Count (*) 함수의 구문은 다음과 같습니다.

 SELECT COUNT(*) FROM Name_of_Table; 

예:

위의 Teacher_Details를 살펴보겠습니다.

교사_ID 선생님 성함 교사_자격 교사_나이 교사_면접_점수
101 아누즈 비테크 이십 88
102 라만 MCA 24 없는
104 샤암 BBA 19 92
107 비카시 비테크 이십 없는
111 모누 MBA 이십 일 없는
114 존스 비테크 18 93
121 머리카락 BCA 이십 97
123 디브야 비테크 이십 일 없는
128 헤만트 MBA 23 90
130 니디 BBA 이십 88
132 프리야 MBA 22 없는
138 모히트 MCA 이십 일 92

다음 쿼리는 Total_Interview_Marks 위 표의 열:

 SELECT COUNT (*) FROM Teacher_Details; 

위의 COUNT(*) 쿼리를 사용한 SELECT는 화면에 아래 결과를 제공합니다.

SQL 카운트 고유

SQL에서 DISTINCT란 무엇입니까?

DISTINCT 키워드는 결과에 테이블의 열에 있는 고유한 행을 표시합니다.

DISTINCT 키워드의 구문은 다음과 같습니다.

 SELECT DISTINCT Name_of_Column FROM Table_Name WHERE [condition]; 

DISTINCT 쿼리에서는 특정 값을 검색하기 위해 WHERE 절에 조건을 정의할 수도 있습니다.

DISTINCT의 예

먼저 Distinct 키워드가 실행될 새 테이블을 만듭니다.

내 모니터 화면이 얼마나 큰데

다음 쿼리는 자전거_세부사항 CREATE TABLE 문을 사용하여 테이블을 생성합니다.

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

다음 SQL 쿼리는 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); 

위 테이블의 레코드는 다음 SELECT 쿼리를 사용하여 표시됩니다.

 SELECT * FROM Bike_Details; 

자전거_이름 자전거_모델 자전거_색상 자전거_비용
KTM 듀크 2019 검은색 185000
로얄엔필드 2020 검은색 165000
누르다 2018 빨간색 90000
아파치 2020 하얀색 85,000
살다 2018 검은색 80,000
KTM RC 2020 빨간색 195,000

테이블: 자전거_세부사항

다음 SQL은 위의 Color 열의 고유 값을 쿼리합니다. 자전거_세부사항 테이블:

 SELECT DISTINCT Bike_Color FROM Bikes ; 

산출:

SQL 카운트 고유

보시다시피 Black, Red, White는 Bike_Color 열의 세 가지 개별 값입니다.

DISTINCT 키워드를 사용한 계산 함수

SELECT 쿼리에서 COUNT 함수가 포함된 DISTINCT 키워드는 테이블에서 해당 필드의 고유 데이터 수를 표시합니다.

DISTINCT 키워드를 사용한 Count 함수의 구문은 다음과 같습니다.

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

DISTINCT 키워드를 사용한 Count 함수의 예

다음 두 SQL 예제에서는 Distinct 키워드를 사용하여 Count 함수의 실행을 설명합니다.

예시 1:

다음 쿼리는 4개의 필드가 있는 College_Students 테이블을 생성합니다.

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

다음 INSERT 쿼리는 학생 기록을 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); 

다음 쿼리는 College_Students 테이블의 세부 정보를 보여줍니다.

 SELECT * FROM College_Students; 

학생 아이디 학생 이름 학생_나이 학생_성적
101 아킬 28 95
102 아바이 27 86
103 소리야 26 79
104 아비셰크 27 66
105 리틱 26 79
106 야쉬 29 88

표: College_Students

다음 SQL 문은 College_Students 테이블에서 Student_Age 열의 고유 값을 계산합니다.

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

이 쿼리는 출력에 아래 테이블을 제공합니다.

SQL 카운트 고유

Teacher_age 열에 4개의 고유 값이 포함되어 있으므로 출력에는 4개의 값이 표시됩니다.

예 2:

다음 쿼리는 4개의 필드가 있는 IT_Employee 테이블을 생성합니다.

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

다음 INSERT 쿼리는 IT 직원의 레코드를 IT_Employee 테이블에 삽입합니다.

이진 검색 파이썬
 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); 

다음 쿼리는 IT_Employee 테이블의 세부 정보를 보여줍니다.

 SELECT * FROM IT_Employee; 

직원_ID 직원_이름 직원_나이 직원_급여
101 아킬 28 25000
102 아바이 27 26000
103 소리야 26 29000
104 아비셰크 27 26000
105 리틱 26 29000
106 야쉬 29 25000

표: IT_직원

다음 SQL 문은 위 IT_Employee 테이블에서 Emp_Age 열의 고유 값만 계산합니다.

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

이 쿼리는 아래 출력을 제공합니다.

SQL 카운트 고유