Đó là cách GROUP BY hoạt động. Nó mất nhiều hàng và biến chúng thành một hàng. Do đó, nó phải biết phải làm gì với tất cả các hàng kết hợp có các giá trị khác nhau cho một số cột (trường). Đây là lý do tại sao bạn có hai tùy chọn cho mọi trường bạn muốn CHỌN:Đưa nó vào mệnh đề GROUP BY hoặc sử dụng nó trong một hàm tổng hợp để hệ thống biết bạn muốn kết hợp trường như thế nào.
Ví dụ:giả sử bạn có bảng này:
Name | OrderNumber
------------------
John | 1
John | 2
Nếu bạn nói NHÓM THEO Tên, làm thế nào nó sẽ biết Số thứ tự nào sẽ hiển thị trong kết quả? Vì vậy, bạn có thể bao gồm OrderNumber trong nhóm theo, điều này sẽ dẫn đến hai hàng này. Hoặc, bạn sử dụng một hàm tổng hợp để hiển thị cách xử lý Số thứ tự. Ví dụ:MAX(OrderNumber)
, có nghĩa là kết quả là John | 2
hoặc SUM(OrderNumber)
có nghĩa là kết quả là John | 3
.