Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào chúng ta có thể sử dụng hàm MySQL SUM () để tính tổng các giá trị chỉ khác nhau của cột?


Để tính tổng chỉ các giá trị khác nhau của cột, chúng ta có thể sử dụng từ khóa ‘DISTINCT’ cùng với tên của cột. Để hiểu hàm SUM () cho các giá trị khác nhau, hãy xem xét một bảng ‘worker_tbl’ có các bản ghi sau -

mysql> SELECT * FROM employee_tbl;
+------+------+------------+--------------------+
| id   | name | work_date  | daily_typing_pages |
+------+------+------------+--------------------+
| 1    | John | 2007-01-24 | 250                |
| 2    | Ram  | 2007-05-27 | 220                |
| 3    | Jack | 2007-05-06 | 170                |
| 3    | Jack | 2007-04-06 | 100                |
| 4    | Jill | 2007-04-06 | 220                |
| 5    | Zara | 2007-06-06 | 300                |
| 5    | Zara | 2007-02-06 | 350                |
+------+------+------------+--------------------+
7 rows in set (0.00 sec)

Bây giờ, giả sử dựa trên bảng trên, bạn muốn tính tổng tất cả các trang dialy_typing_pages có các giá trị khác nhau, thì bạn có thể làm như vậy bằng cách sử dụng lệnh sau -

mysql> SELECT SUM(DISTINCT daily_typing_pages)
    -> FROM employee_tbl;
+-------------------------+
| SUM(daily_typing_pages) |
+-------------------------+
|       1390              |
+-------------------------+
1 row in set (0.00 sec)

Tập kết quả ở trên cho thấy rằng MySQL SUM () với từ khóa DISTINCT, chỉ tính tổng của bản ghi khác biệt, tức là nó chỉ thêm giá trị ‘220’ cho một lần duy nhất.