Vấn đề:
Bạn muốn tính tổng các giá trị của một cột.
Ví dụ:
Cơ sở dữ liệu của chúng tôi có một bảng tên là game
với dữ liệu trong các cột sau:id
, player
và score
.
id | trình phát | điểm |
---|---|---|
1 | John | 134 |
2 | Tom | 146 |
3 | Lucy | 20 |
4 | Tom | 118 |
5 | Tom | 102 |
6 | Lucy | 90 |
7 | Lucy | 34 |
8 | John | 122 |
Hãy tìm tổng số điểm mà tất cả người chơi thu được.
Giải pháp:
SELECT SUM(score) as sum_score FROM game;
Đây là kết quả:
sum_score |
---|
766 |
Thảo luận:
Hàm tổng hợp SUM
lý tưởng để tính toán tổng các giá trị của cột. Hàm này được sử dụng trong SELECT
và lấy tên của cột có các giá trị bạn muốn tính tổng.
Nếu bạn không chỉ định bất kỳ cột nào khác trong SELECT
, sau đó tổng sẽ được tính cho tất cả các bản ghi trong bảng. Trong ví dụ của chúng tôi, chúng tôi chỉ chọn tổng và không chọn các cột khác. Do đó, truy vấn trong ví dụ của chúng tôi trả về tổng tất cả các điểm số (766).
Tất nhiên, chúng tôi cũng có thể tính tổng điểm mà mỗi người chơi kiếm được bằng cách sử dụng điều khoản GROUP BY và chọn tên của mỗi người chơi từ bảng, cùng với tổng:
Giải pháp:
SELECT player, SUM(score) as sum_score FROM game GROUP BY player;
Truy vấn này trả về tổng điểm cho mỗi người chơi:
player | điểm |
---|---|
John | 256 |
Tom | 366 |
Lucy | 144 |