ONLY_FULL_GROUP_BY私はMySQLバージョン5.7.18でのUbuntu Serverの16.xx日午前、のMySQL 5.7.18エラー=
私は次のクエリがあります:実行後の
SELECT DISTINCT
w.sno,
CONCAT(
CONCAT(
(SELECT
bch_lbl
FROM
list_benches
WHERE sno = w.lb_sno),
' => ',
CASE
WHEN w.bench_cat_sno = 0
THEN 'All Categories'
ELSE
(SELECT
cat_name
FROM
case_categories
WHERE sno = w.bench_cat_sno)
END,
' [From ',
b.date_from,
' To ',
b.date_to,
'] '
),
CASE
WHEN b.is_active = 1
THEN 'Active'
ELSE 'Expired'
END
) AS benchLbl,
w.is_active,
b.j_sno
FROM
working_benches w,
bench_judges b
WHERE w.sno = b.b_sno
GROUP BY w.sno
ORDER BY b.is_active DESC ;
をこのクエリは、次のエラーを返す:
Error Code: 1055
Expression #2 of SELECT list is not in GROUP BY clause and contains
nonaggregated column 'phc_caseflow.b.date_from' which is not functionally
dependent on columns in GROUP BY clause; this is incompatible with
sql_mode=only_full_group_by
私は理解している唯一のものはabovの原因となる「sql_modeの= ONLY_FULL_GROUP_BY」でありますeエラー。
誰でもに適合し、問題を解決するには、上記のクエリを変更する方法を私はお勧めできます - だけ私のクエリを編集する必要はありませsql_modeの:右の外に...事前に
おかげ
は、私はすでに上で同じクエリを実行しています"sql_mode"が "唯一の完全なグループ"ではない、私の開発マシンです。そのうまく機能しています。さらに、プロシージャに入れて同じ時間...複数の表からドロップダウンリストを取り込む。 –
私はあなたです。それは、「自分のマシンで動作する」という古典的なケースのように見えます。それは本当ですが、それは重要な場所にある生産では機能しません。あなたの選択肢は限られているようです。 – Sage