Từ phiên bản MySql 5.7.5 thì chế độ ONLY_FULL_GROUP_BY được mở như mặc định. Điều này gây một ít kho khăn khi sử dụng câu lệnh SELECT có Group by và Having.
Để bỏ qua chế độ này chúng ta có thể sử dụng câu lệnh sau để chạy trong console của MySql
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
Đối với DBeaver nếu bạn làm mới session thì chế độ này lại về mặc định. Vậy nên dưới đây là cách tắt only_full_group_by trên DBeaver theo mình là nhanh và đơn giản nhất.
Chọn Thêm hoặc Chỉnh sửa kết nối hiện tại -> Connection settings -> Initialization. Tại mục Bootstrap queries chọn Configure -> Chọn Add. Dán lệnh phía trên vào và lưu lại.
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
Như vậy là mỗi khi bạn kết nối đến DBeaver sẽ tự động tắt only_full_group_by giúp bạn luôn rồi.