11
4

More than 5 years have passed since last update.

【MySQL】MySQLでは、group by のカラムとselectのカラムが違ってもエラーにならない

Last updated at Posted at 2015-03-31

以下のように、group byのカラムとselectのカラムが異なる場合、標準のSQLではエラーになるが(Oracleなどではエラー)、mysqlの拡張仕様によりmysqlでは可能。

sql
select
 foo,bar
from hoge
 group by foo

以下の場合、barには何が入るのかというと、結果は不確定となる。
つまり、AかBかCが入る。(試してみるとAが入るっぽいが、保障はしないということだと思う。)

foo bar
1 A
1 B
1 C

11.11.3. 非常時フィールドとの GROUP BY および HAVING)

この拡張は、グループ分けされていないカラムが、同じグループに関する値を持っていることを前提としています。それ以外では、結果は不確実になります。

参考
MySQLの拡張仕様、GROUP BYでカラム指定を省略してSELECTする場合について

11
4
0

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
11
4