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;
산출:
중위 트리 순회
위 SELECT 쿼리의 출력은 12입니다. 교사_나이 필드에는 NULL 값이 없습니다.
다음 쿼리는 위 테이블에서 Teacher_Interview_Column의 총 값을 계산합니다.
SELECT COUNT (Teacher_Interview_Marks) AS Total_Teachers_Interview_Marks FROM Teacher_Details;
이 쿼리는 화면에 아래 출력을 표시합니다.
정수를 문자열로 변환 java
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에서 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 ;
산출:
보시다시피 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 ;
이 쿼리는 출력에 아래 테이블을 제공합니다.
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 ;
이 쿼리는 아래 출력을 제공합니다.