sql >> データベース >  >> Database Tools >> phpMyAdmin

左結合でNULL値を取得するのはなぜですか?

    group byを実行しています (3列)選択リストに5列の非集計列があります。また、重要ではありませんが、列の出力には集計がありません。

    MySQLはそれをdistinctとして扱います (3列の場合)MRUキャッシュで最初に検出された行を戻します。キャッシュがない場合は、クラスター化インデックスまたは物理順序で最初に検出された行が、グループ化されていない2つの列を満たします。

    つまり、ユーザーエラーです。スナフ。 GROUP BYで意図をクリーンアップすることをお勧めします 。

    やや関連して、私の最近の回答を読んでくださいここ ONLY_FULL_GROUP_BYに関連 。そのリンクの下部にあるのは、MySQLの処理です。 GROUP BY 私の見解では、これはMySQLが許可した実際の問題と非標準の概要であり、その標準の違反からのデータを予期せず説明するのが困難になりました。

    では、MySQL開発チームは何をしましたか?彼らはデフォルトで標準を実装し(バージョン5.7以降)、実行したばかりのタイプのクエリを禁止しました。

    Edit1

    GROUP BYを使用しないクエリ ただし、order by newGroups.id,people.id 、バージョン5.7.14サーバーの場合:




    1. SQL ServerManagementStudioは.bakファイルを認識できません

    2. PhpMyAdminを使用してデータベーステーブルにフィールドを挿入する

    3. ワークベンチセクションがapachejmeterに表示されない

    4. PHPログインの問題