Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL:Điều gì xảy ra với các trường không được tổng hợp trên một GROUP BY?

MySQL> 5.7.5

Đó là một truy vấn bất hợp pháp.

Bạn sẽ nhận được một lỗi như:

ERROR 1055 (42000): Expression #1 of SELECT list is not in 
GROUP BY clause and contains nonaggregated column 'a' 
which is not functionally dependent on columns in 
GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

Thêm chi tiết tại https://dev.mysql. com / doc / refman / 5.7 / en / group-by-processing.html

MySQL <5.7.5

Trình duyệt ngắn:đó là một truy vấn hợp lệ, nhưng máy chủ miễn phí trả về bất kỳ giá trị nào

Đọc này https://dev.mysql.com /doc/refman/5.0/en/group-by-handling.html cho thấy:

Vì vậy, không có cách nào để xác định giá trị đó sẽ là gì (nếu có nhiều giá trị hơn cho nhóm đó)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL cập nhật một trường với một biến tăng dần

  2. Gặp lỗi Các lệnh không đồng bộ, bạn không thể chạy lệnh ngay bây giờ trong khi thực hiện một thủ tục được lưu trữ trong mysql / PHP

  3. JDBC trả về số lượng hàng bị ảnh hưởng sai

  4. Chọn tất cả các ngày giữa hai ngày không sử dụng bảng (tạo danh sách ngày)

  5. Mảng tìm nạp MySQL thêm các giá trị trùng lặp?