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

MySQL:GROUP BYの非集計フィールドはどうなりますか?

    MySQL> 5.7.5

    違法なクエリです。

    次のようなエラーが表示されます:

    ERROR 1055 (42000): Expression #1 of SELECT list is not in 
    GROUP BY clause and contains nonaggregated column 'a' 
    which is not functionally dependent on columns in 
    GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
    

    詳細については、 https://dev.mysqlをご覧ください。 com / doc / refman / 5.7 / en / group-by-handling.html

    MySQL <5.7.5

    短い答え:これは有効なクエリですが、サーバーは任意の値を自由に返すことができます

    これを読む https://dev.mysql.com /doc/refman/5.0/en/group-by-handling.html ショー:

    したがって、その値がどうなるかを決定する方法はありません(そのグループにさらに値がある場合)



    1. 文字列->java.util.Date->java.sql.Date(タイムスタンプ付き)

    2. 接続文字列でサービス名の代わりにSIDを使用すると、cx_Oracleが接続しません

    3. サブクエリからの文字列をmysqlの単一の行に連結するにはどうすればよいですか?

    4. 結合を回避するためにSQLクエリを改善する別の方法は?