LoginSignup
3
0

More than 5 years have passed since last update.

集計関数をSELECT文で使用する場合に気をつける事。

Last updated at Posted at 2017-09-16

SELECT文で集計関数(SUMやMAX等)を使用したクエリの検索結果が無い場合、group byの有無でレコードの返りが違う事を発見。
業務でハマった為、ここに忘備録として残しておきます。

環境

  • 使用したDBのバージョン等

mysql_env.GIF

  • テーブル構造

table_structure.GIF

SELECT 集計関数(列名) FROM ~ GROUP BYの場合

  • group by句を用いた場合は、レコードが一行も返却されない

select_max_with_groupBy_clause.GIF

SELECT 集計関数(列名) FROM ~ の場合

  • group by句を用いない場合、必ず一行レコードが返却される。

select_max.GIF

その他

  • 元々はOracleDBで確認した事象だったが、MySQLでも再現した(標準仕様?)

あとがき

  • これ見つけるのに時間かかった……。
3
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0