Tôi thấy một ví dụ trong đó có một danh sách (bảng) của nhân viên với mức lương hàng tháng tương ứng của họ. Tôi đã làm một khoản tiền lương và thấy chính xác cùng một bảng trong ouptput !!! Điều đó thật kỳ lạ.Tại sao chúng ta cần GROUP BY với CHỨC NĂNG AGGREGATE?
Đây là những gì phải làm - chúng tôi phải tìm ra số tiền chúng tôi trả trong tháng này là lương nhân viên. Để làm được điều đó, chúng tôi cần tính tổng số tiền lương của họ trong cơ sở dữ liệu như được hiển thị -
SELECT EmployeeID, SUM (MonthlySalary)
FROM Employee
GROUP BY EmpID
Tôi biết rằng mình không sử dụng nhóm theo mã ở trên. Đây là những gì tôi không hiểu -
Chúng tôi đang chọn employeeid từ bảng nhân viên. SUM() đang được thông báo rằng nó phải thêm cột MonthlySalary, từ bảng Employee. Vì vậy, nó nên trực tiếp đi và thêm những con số lên thay vì nhóm chúng lại và sau đó thêm chúng.
Thats như thế nào một người sẽ làm điều đó - nhìn vào bảng nhân viên và thêm tất cả các số. Tại sao anh ta lại gặp rắc rối để nhóm chúng lại và sau đó thêm chúng lên?
Nếu bạn muốn tổng hợp toàn bộ cột mà không có nhóm, thì không sử dụng nhóm SQL theo. SQL nhóm bằng cách không làm những gì một người sẽ làm. Trong SQL, việc nhóm sẽ không có ý nghĩa gì nếu bạn không làm gì đó với các nhóm. –
@EricLeschinski - nhóm nào? –
Các nhóm EmpID từ bảng Employee. Thay vì cố gắng so sánh nhóm nào bằng cách làm tương đối với những gì một người làm, hãy hỏi: Nhóm SQL hoạt động như thế nào và chúng ta có thể căn chỉnh nó theo những gì chúng ta muốn: http://stackoverflow.com/questions/7434657/how -các nhóm-by-công việc –