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 | 21 | ヌル |
114 | ジョーンズ | ビーテック | 18 | 93 |
121 | 髪 | BCA | 二十 | 97 |
123 | ディヴィヤ | ビーテック | 21 | ヌル |
128 | ヘマント | MBA | 23 | 90 |
130 | ニディ | BBA | 二十 | 88 |
132 | プリヤ | MBA | 22 | ヌル |
138 | モヒット | MCA | 21 | 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;
このクエリでは、画面に次の出力が表示されます。
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 | 21 | ヌル |
114 | ジョーンズ | ビーテック | 18 | 93 |
121 | 髪 | BCA | 二十 | 97 |
123 | ディヴィヤ | ビーテック | 21 | ヌル |
128 | ヘマント | MBA | 23 | 90 |
130 | ニディ | BBA | 二十 | 88 |
132 | プリヤ | MBA | 22 | ヌル |
138 | モヒット | MCA | 21 | 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 列の 3 つの異なる値です。
DISTINCT キーワードを使用したカウント関数
SELECT クエリの COUNT 関数で DISTINCT キーワードを使用すると、テーブルのフィールドの一意のデータの数が表示されます。
DISTINCT キーワードを使用したカウント関数の構文は次のとおりです。
SELECT COUNT(DISTINCT (Column_Name) FROM table_name WHERE [condition];
DISTINCT キーワードを使用した Count 関数の例
次の 2 つの 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 テーブルの詳細を示します。
Javaのメインメソッド
SELECT * FROM College_Students;
学生証 | 学生の名前 | 学生_年齢 | Student_Marks |
---|---|---|---|
101 | アキル | 28 | 95 |
102 | アベイ | 27 | 86 |
103 | ソルヤ | 26 | 79 |
104 | アビシェク | 27 | 66 |
105 | リティク | 26 | 79 |
106 | ヤシュ | 29 | 88 |
テーブル: 大学生_学生
次の 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 ;
このクエリでは、次の出力が得られます。