ใน MySQL Version ใหม่ๆ น่าจะตั้งแต่เวอร์ชั่น 5.7.5 ขึ้นมา จะเปิด sql_mode เป็น only_full_group_by มาเป็นค่า Default ไว้เลย
ทำให้คนที่เคยใช้การ Group by แบบหลายๆ Table ด้วยตัวหลักตัวเดียว จะทำให้เกิด Error แบบนี้ครับ
ซึ่งปัญหามันเกิดจากการเขียน JOIN กันไปหลายๆ Table แต่สั่ง Group by แค่ฟิลด์จากตารางเดียว ตอนนี้เหมือนจะทำไม่ได้แล้ว ต้องสั่ง Group by คีย์หลักจากทุกตารางที่ทำการ JOIN ด้วย
แต่ถ้าใครยังไม่อยากแก้โค้ดตอนนี้ การสั่งปิด Mode ตัวนี้ก็น่าจะง่ายกว่า…
ปิดโหมดใน PhpMyAdmin
เมื่อเข้ามาแล้ว ในหน้าแรกให้เลือกไปที่เมนู Variables
แล้วทำการค้นหาอย่างรวดเร็วด้วยคำว่า sql_mode
ในช่อง Value ก็จะเห็นแล้วว่ามันมีคำว่า ONLY_FULL_GROUP_BY อยู่ และเราควรจะเอามันออก กด Edit กันเลย
เมื่อกด Edit แล้วก็ทำการลบค่า ONLY_FULL_GROUP_BY ทิ้งเลย
จากนั้นกด Save ก็เสร็จแล้วจ้า
ตอนนี้พอไปรันหน้าเว็บของเราก็จะเห็นว่ามันไม่ฟ้อง Error sql_mode=in_full_group_by แล้ว