Tôi đang gặp một số sự cố khi tạo truy vấn mang lại cho tôi mức trung bình của tổng. Tôi đọc một vài ví dụ ở đây trong stackoverflow và không thể làm điều đó. Bất cứ ai có thể giúp tôi hiểu làm thế nào để làm điều này xin vui lòng? Đây là dữ liệu tôi có:Mức trung bình của một số trong truy vấn Mysql
Transaction_x0020_Number Product_x0020_Code Sales_x0020_Value Date Cashier
000356 350 24.99 2010-06-04 131
000356 726 32.99 2010-06-04 131
000357 350 24.99 2010-06-04 131
000358 350 24.99 2010-06-04 131
000358 360 24.99 2010-06-04 131
000770 703 69.99 2010-06-04 130
000771 726 32.99 2010-06-04 130
000772 1126 5 2010-06-04 130
000773 482 32.99 2010-06-04 130
000774 600 32.99 2010-06-04 130
000775 350 24.99 2010-06-04 130
Về cơ bản tôi cần giá trị giao dịch trung bình của nhân viên thu ngân. Tôi không thể chạy một avg cơ bản vì nó sẽ lấy tất cả các hàng nhưng mỗi giao dịch có thể có nhiều hàng. Cuối cùng tôi muốn có:
Cashier| Average|
131 | 44.31 |(Which comes from the sum divided by 3 transactions not 5 rows)
130 | 33.15 |
etc.
Đây là câu hỏi tôi phải tổng các giao dịch nhưng không biết làm thế nào hoặc nơi để bao gồm các chức năng AVG.
SELECT `products`.`Transaction_x0020_Number`,
Sum(`products`.`Sales_x0020_Value`) AS `SUM of Sales_x0020_Value`,
`products`.`Cashier`
FROM `products`
GROUP BY `products`.`Transaction_x0020_Number`, `products`.`Date`, `products`.`Cashier`
HAVING (`products`.`Date` ={d'2010-06-04'})
Mọi trợ giúp đều được đánh giá cao.
Ah, 8 giây trước đó, đã bị xóa (mặc dù tôi không nhớ cú pháp d {} trên MySQL?). không cần phải biết số tiền của một giao dịch nếu nó thực sự được tính trung bình. – Wrikken
Một lưu ý phụ: giải pháp tốt nhất, nhưng tại sao lại sao chép mệnh đề HAVING, thay vì chỉ một WHERE nên được sử dụng? – Wrikken
+1 tính năng này hoạt động. Giải pháp tốt đẹp nếu HAVING là cố định. –