DB

各DB上でgroup by文を試してみた(実践編)

今回は、Oracle・MySQL・PostgreSQL・SQL Serverの各データベース上でのgroup by文を試してみた。結果、MySQLのみ、group by句で指定していない項目をselect句に指定しても、エラーにならないことが判明した。

前提条件

下記記事のsalesテーブルの作成が完了していること。

各DB上でgroup by文を試してみた(データ準備編)今回は、Oracle・MySQL・PostgreSQL・SQL Serverの各データベース上でのgroup by文を試すための、sal...

 やってみたこと

  1. Oracleの場合の実行結果
  2. MySQLの場合の実行結果
  3. PostgreSQLの場合の実行結果
  4. SQL Serverの場合の実行結果

 

Oracleの場合の実行結果

1) group by句で指定した項目と(集計項目以外の)select句で指定した項目が同一の場合

Oracle_groupby実行結果1

2) (集計項目以外の)select句に、group by句で指定した項目以外が含まれる場合

Oracle_groupby実行結果2

3) (集計項目以外の)select句が、group by句で指定した項目より少ない場合

Oracle_groupby実行結果3



MySQLの場合の実行結果

1) group by句で指定した項目と(集計項目以外の)select句で指定した項目が同一の場合

MySQL_groupby実行結果1

2) (集計項目以外の)select句に、group by句で指定した項目以外が含まれる場合

MySQL_groupby実行結果2

3) (集計項目以外の)select句が、group by句で指定した項目より少ない場合

MySQL_groupby実行結果3



PostgreSQLの場合の実行結果

1) group by句で指定した項目と(集計項目以外の)select句で指定した項目が同一の場合

PostgreSQL_groupby実行結果1

2) (集計項目以外の)select句に、group by句で指定した項目以外が含まれる場合

PostgreSQL_groupby実行結果2

3) (集計項目以外の)select句が、group by句で指定した項目より少ない場合

PostgreSQL_groupby実行結果3



SQL Serverの場合の実行結果

1) group by句で指定した項目と(集計項目以外の)select句で指定した項目が同一の場合

SQLServer_groupby実行結果1

2) (集計項目以外の)select句に、group by句で指定した項目以外が含まれる場合

SQLServer_groupby実行結果2

3) (集計項目以外の)select句が、group by句で指定した項目より少ない場合

SQLServer_groupby実行結果3