Đối với ngày hôm nay, bạn đã giải quyết được vấn đề. Nhưng ngày mai, khi bạn chạy cùng một truy vấn, bạn sẽ gặp một lỗi khác.
Trong các phiên bản MySQL hoặc MariaDB cũ hơn, bạn sẽ nhận được "bất kỳ giá trị nào" cho price_available
khi không GROUPing BY
nó. Đó là hiệu quả ở đâu đó giữa "thực hành xấu" và "vi phạm tiêu chuẩn". Tương đối gần đây, MariaDB, sau đó là MySQL, chuyển sang "chỉ nhóm đầy đủ của". Tại thời điểm đó, ANY_VALUE()
ra đời cho MySQL, nhưng có vẻ như MariaDB đã bỏ rơi.
Giải pháp cũ, sẽ an toàn cho cả phiên bản cũ và mới là sử dụng MIN(price_available)
hoặc một số chức năng tổng hợp khác. (Nếu cột có thể có NULL
, các tổng hợp khác nhau có thể hoặc có thể không xử lý NULL
theo cách bạn thích.)
Xem thêm ONLY_FULL_GROUP_BY
cài đặt.