大量のデータが存在する場合、要件に応じてデータを操作する可能性がよく見られます。 GROUPBY句はそのようなものの1つです 、いくつかの列または条件に基づいてデータをグループ化するために使用されます。 SQL GROUP BYステートメントに関するこの記事では、GROUPBYステートメントを次の順序で使用するいくつかの方法について説明します。
GROUP BY句の使用方法の例に進む前に、SQLでのGROUPBYとその構文について理解しましょう。
SQL GROUPBYステートメント
このステートメントは、同じ値を持つレコードをグループ化するために使用されます。 GROUP BYステートメントは、結果を1つ以上の列でグループ化するために、集計関数でよく使用されます。これとは別に、GROUPBY句はHAVING句と一緒に使用されます。 条件に基づいて結果セットをグループ化します。
SQL GROUPBY構文
SELECT Column1、Column2、...、ColumnN FROM TableNameWHERE条件GROUPBY ColumnName(s)ORDER BY ColumnName(s)
ここでは、列名の前に集計関数を追加し、ステートメントの最後にHAVING句を追加して条件を指定できます。次に、SQL GROUP BYに関するこの記事で、このステートメントの実装方法を理解しましょう。
例:
理解を深めるために、例を次のセクションに分けました。
例を説明するために、次の表を検討します。
EmpID | EmpName | EmpEmail | 電話番号 | 給料 | 市 |
1 | ニディ | nidhi@sample.com | 9955669999 | 50,000 | ムンバイ |
2 | アナイ | anay@sample.com | 9875679861 | 55000 | プット |
3 | ラフル C ++のgotoステートメント | rahul@sample.com | 9876543212 | 35000 | デリー |
4 | ソニア | sonia@sample.com | 9876543234 | 35000 | デリー |
5 | Akash | akash@sample.com | 9866865686 | 25000 | ムンバイ |
それらのそれぞれを見てみましょう。
単一の列でSQLGROUPBYを使用する
例:
各都市の従業員数を取得するクエリを記述します。
SELECT COUNT(EmpID)、City FROM Employees GROUP BY City
出力:
次の出力が表示されます。
Count(EmpID) | 市 |
2 | デリー |
2 | ムンバイ |
1 | プット |
複数の列でSQLGROUPBYを使用する
例:
各都市で給与が異なる従業員の数を取得するクエリを記述します。
Javaでパッケージを作成する方法
市、給与、カウント(*)を従業員グループから市、給与で選択します
出力:
テーブルには次のデータが含まれます。
市 | 給料 | カウント(*) |
デリー | 35000 | 2 |
ムンバイ | 25000 | 1 |
ムンバイ | 50,000 | 1 |
プット | 55000 | 1 |
ORDERBYでSQLGROUPBYを使用する
SQL GROUPBYステートメントを使用する場合 ORDERBY句 、値は昇順または降順で並べ替えられます。
例:
各都市の従業員数を降順で並べ替えて取得するクエリを記述します。
SELECT COUNT(EmpID)、City FROM Employees GROUP BY City ORDER BY COUNT(EmpID)DESC
出力:
テーブルには次のデータが含まれます。
Count(EmpID) | 市 |
2 | デリー |
2 | ムンバイ |
1 | プット |
HAVING句でSQLGROUPBYを使用する
SQL GROUP BYステートメントは、「HAVING」句とともに使用され、グループの条件に言及します。また、WHERE句で集計関数を使用することはできないため、GROUP BYで集計関数を使用するには、「HAVING」句を使用する必要があります。
例:
給与が15000を超える、各都市の従業員数を取得するクエリを記述します
SELECT COUNT(EmpID)、City FROM Employees GROUP BY City HAVING SALARY> 15000
出力:
すべてがEmployeeテーブルのレコードであり、給与が15000を超えているため、次のテーブルが出力として表示されます。
Count(EmpID) | 市 |
2 javaジャストインタイムコンパイラ | デリー |
2 | ムンバイ |
1 | プット |
JOINSでGROUPBYを使用する
です SQL それらのテーブル間の関連する列に基づいて、2つ以上のテーブルの行を結合するために使用されるステートメント。 SQL GROUP BYステートメントを使用して、1つまたは複数の列に基づいて結果セットをグループ化できます。以下の表を考慮して、SQL GROUPBY句を使用してJOINステートメントを実行します。
プロジェクト表:
ProjectID | EmpID | クライアントID | ProjectDate |
2. 3. 4. 5 | 1 | 4 | 2019年1月26日 |
9876 | 2 | 5 | 2019年2月28日 |
3456 | 3 | 6 | 2019年3月12日 |
顧客テーブル:
クライアントID | ClientName |
4 | サンジャナー |
5 | ローハン |
6 | アルン |
例
各クライアントによって要求されたプロジェクトの数を一覧表示するクエリを記述します。
SELECT Clients.ClientName、COUNT(Projects.ProjectID)AS RequestedProjects FROM Projects LEFT JOIN Clients ON Projects.ProjectID = Clients.ProjectID GROUP BY ClientName
出力:
テーブルには次のデータが含まれます。
ClientName | RequestedProjects |
アルン | 1 |
ローハン | 1 |
サンジャナー | 1 |
これで、SQL GROUPBYの記事は終わりです。 これをチェックしてください ネットワークを備えた信頼できるオンライン学習会社であるEdurekaによる または f25万人以上の満足した学習者が世界中に広がっています。 このコースでは、データを管理し、MySQLデータベースを管理するためのコアコンセプトと高度なツールおよびテクニックについて学習します。これには、MySQL Workbench、MySQL Server、データモデリング、MySQLコネクタ、データベースデザイン、MySQLコマンドライン、MySQL関数などの概念に関する実践的な学習が含まれます。データを管理します。
質問がありますか?この「SQLGROUPBY」の記事のコメントセクションにその旨を記載してください。できるだけ早くご連絡いたします。