sql >> データベース >  >> RDS >> Database

GROUPBYとORDERBY

    SQLのGROUPBY句とORDERBY句は、SQLクエリによって取得されたデータを配置するために使用されます。 GROUPBY句とORDERBY句の重要な違いは、SQLクエリで複数の行セットに対して集計関数を使用する場合にGROUPBY句が適用されることです。対照的に、ORDER BY句は、クエリによって取得されたデータをソートされた順序で受け取りたい場合に適用されます。比較表に移る前に、まずこれらのSQL句を理解します。

    GROUPBY句

    SQLのGROUPBYステートメントは、クエリを使用して属性値内にデータを配置します。通常、SELECTステートメントでGROUPBY句を使用します。常にWHERE句の後にGROUPBY句を配置する必要があります。さらに、ORDERBY句の前にもペースが調整されます。

    多くの場合、データベースからの出力を生成するために、SUM、AVG、MIN、MAX、COUNTなどの集計関数でGROUPBY句を使用できます。 GROUP BY句のクエリはグループ化されたクエリであり、グループ化されたオブジェクトごとに1つの行を返します。

    以下は、SQLクエリでGROUPBY句を使用するための構文です

    SELECT COLUMNNAME, FUNCTION(COLUMNNAME) FROM TABLENAME WHERE CONDITION GROUP BY COLUMNNAME;

    いくつかの例を使用して、GROUPBY句を理解しましょう。与えられたレコードと一緒に次の表を検討してください。

    表:従業員

    EMPLOYEEID FIRST_NAME LAST_NAME 給与 CITY 部門 MANAGERID WORKING_HOURS 性別
    1001 VAIBHAVI MISHRA 65000 PUNE ORACLE 1 12 F
    1002 VAIBHAV シャルマ 60000 NOIDA ORACLE 1 9 M
    1003 NIKHIL VANI 50000 ジャイプール FMW 2 10 M
    2001 PRACHI シャルマ 55500 チャンディーガル ORACLE 1 10 F
    2002 BHAVESH JAIN 65500 PUNE FMW 2 12 M
    2003 ルチカ JAIN 50000 ムンバイ テスト 4 9 F
    3001 PRANOTI SHENDE 55500 PUNE JAVA 3 9 F
    3002 ANUJA 場所 50500 ジャイプール FMW 2 9 F
    3003 DEEPAM ジャウハリ 58500 ムンバイ JAVA 3 12 M
    4001 RAJESH GOUD 60500 ムンバイ テスト 4 10 M

    例1: 上記のデータについて、特定の都市の従業員の給与の合計を知りたいとします。これを行うには、次のように以下のクエリを実行します。

    SELECT CITY, SUM(SALARY) FROM EMPLOYEES GROUP BY CITY;

    このクエリは、最初に都市をグループ化した結果を形成しました。次に、 SUM 機能は都市の各グループで実行され、最終的に、以下に示すように目的の結果が得られます。

    例2: 上記のデータについて、特定の部門の従業員の最高給与を知りたいとします。これを行うには、次のように以下のクエリを実行します。

    SELECT DEPARTMENT, MAX(SALARY) FROM EMPLOYEES GROUP BY DEPARTMENT;

    このクエリは最初、部門をグループ化した結果を形成しました。次に、 MAX 機能は部門の各グループで実行され、最終的に、以下に示すように目的の結果が得られます。

    ORDERBY句

    GROUPBY句とORDERBY句は、SELECTステートメントで使用できます。 SQLクエリでは、ORDER BY句を使用して、クエリによって返されたレコードを昇順または降順で並べ替えました。並べ替え順序について言及しなかった場合、結果全体がデフォルトで昇順で並べ替えられます。

    以下は、SQLクエリでORDERBY句を使用するための構文です

    SELECT * FROM TABLENAME ORDER BY [ASC | DESC];

    いくつかの例を使用して、ORDERBY句を理解しましょう。与えられたレコードと一緒に次の表を検討してください。

    表:従業員

    EMPLOYEEID FIRST_NAME LAST_NAME 給与 CITY 部門 MANAGERID WORKING_HOURS 性別
    1001 VAIBHAVI MISHRA 65000 PUNE ORACLE 1 12 F
    1002 VAIBHAV シャルマ 60000 NOIDA ORACLE 1 9 M
    1003 NIKHIL VANI 50000 ジャイプール FMW 2 10 M
    2001 PRACHI シャルマ 55500 チャンディーガル ORACLE 1 10 F
    2002 BHAVESH JAIN 65500 PUNE FMW 2 12 M
    2003 ルチカ JAIN 50000 ムンバイ テスト 4 9 F
    3001 PRANOTI SHENDE 55500 PUNE JAVA 3 9 F
    3002 ANUJA 場所 50500 ジャイプール FMW 2 9 F
    3003 DEEPAM ジャウハリ 58500 ムンバイ JAVA 3 12 M
    4001 RAJESH GOUD 60500 ムンバイ テスト 4 10 M

    例1: 名の列に基づいて、結果を昇順または降順の並べ替え順に並べたいとします。その場合、結果を取得するためにORDERBY句を使用します。これを行うには、次のように以下のクエリを実行します。

    SELECT * FROM EMPLOYEES ORDER BY FIRST_NAME ASC;

    GROUPBYとORDERBYの主な違い

    GROUPBY句とORDERBY句を区別するポイントは次のとおりです。

    • SQLのGROUPBYステートメントは、特定の列の同様の値に基づいてレコードをグループ化するために使用されます。一方、SQLのORDER BY句は、表示結果を昇順または降順で並べ替えるために使用されます。
    • SQLクエリでGROUPBY句を使用してクエリを実行する場合、集計関数を使用する必要があります。一方、SQでORDER BY句を使用している間は、集計関数を使用する必要はありません。
    • GROUP BY句は、常にWHERE句の後、ORDERBY句の前にSQLクエリに配置されます。一方、ORDERBY句は常にGROUPBY句の後に配置されます。

    比較チャート

    GROUPBYステートメントの
    SR.NO グループ化 注文者
    1 GROUP BY句は、類似した値を持つ行をグループ化するために使用されます。 ORDER BY句は、結果を降順または昇順で並べ替えるために使用されます
    2 行の表示を制御します 列の表示を制御します
    3 GROUPBY句は常にORDERBY句の前に配置されます。 ORDERBY句は常にGROUPBY句の後に配置されます。
    4 集計関数を使用する必要があります 集計関数の使用は必須ではありません
    5 属性を集計関数の下に置くことはできません。この属性は、ORDERBYステートメントの集計関数の下に置くことができます。


    1. MySQLルートパスワードの変更とリセット

    2. T-SQLとは何ですか?

    3. MSAccessと条件付き並べ替えのドラッグアンドドロップ

    4. MySQLの「順序付け」-英数字を正しく並べ替える