あなたの質問に基づくと、MySql
の前にクエリが正しく機能していたようです。 アップグレード。 MySql
をアップグレードしたので 、デフォルト設定が適用されています。これは、Only_Full_Group_By
を意味します。 有効になっています。したがって、Select
の非集計列が問題のようなクエリを実行する場合 リストはgroup by
にありません 句では、Only_Full_Group_By
を無効にする必要があります 。
以下のステートメントを実行して、クエリを再度実行します:
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
警告:これは、選択リスト内の他の同意されていない列がtnumber
ごとに一意であることが確実な場合にのみ行う必要があります。 そうしないと、結果としてランダムな行が表示されます。
以下はMYSQL8.0マニュアルから引用されています:
詳細については、ここをクリック してください。 。