最近在練習 MariaDB Join 有下列問題 原本句子都可以,最近都有問題
SELECT list is not in GROUP BY clause and contains nonaggregated column
原來是下列原因
MariaDB 5 近來版本開始,預設開啟了ONLY_FULL_GROUP_BY選項。
當分組查詢中的SELECT,ORDER BY中出現非GROUP BY中的列,這違反了SQL-92標準,該模式下就會報錯。
SELECT sname,cname,score
FROM sc
LEFT JOIN student USING(sno)
LEFT JOIN course USING(cno)
WHERE score >= 70
GROUP by sname;
改為如下
SELECT student.sname,course.cname,sc.score
FROM sc
LEFT JOIN student USING(sno)
LEFT JOIN course USING(cno)
WHERE score >= 70
GROUP by student.sname,course.cname,sc.score;