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

Truy vấn MySQL để tìm tổng các trường có cùng giá trị cột?

Sử dụng mệnh đề GROUP BY cho điều này. Đầu tiên chúng ta hãy tạo một bảng -

 mysql> create table sumOfFieldsDemo -> (-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> ClientSerialNumber varchar (100), -> ClientCost int ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,50 giây) 

Sau đây là truy vấn để chèn một số bản ghi trong bảng bằng cách sử dụng lệnh insert -

 mysql> insert vào sumOfFieldsDemo (ClientSerialNumber, ClientCost) giá trị ('1111', 450); Truy vấn OK, 1 hàng bị ảnh hưởng (0,16 giây) mysql> chèn vào giá trị sumOfFieldsDemo (ClientSerialNumber, ClientCost) ('2222', 550); Truy vấn OK, 1 hàng bị ảnh hưởng (0,15 giây) mysql> chèn vào giá trị sumOfFieldsDemo (ClientSerialNumber, ClientCost) ('3333', 150); Truy vấn OK, 1 hàng bị ảnh hưởng (0,64 giây) mysql> chèn vào sumOfFieldsDemo (ClientSerialNumber, ClientCost) giá trị ('3333', 250); Truy vấn OK, 1 hàng bị ảnh hưởng (0,12 giây) mysql> chèn vào giá trị sumOfFieldsDemo (ClientSerialNumber, ClientCost) ('2222', 1000); Truy vấn OK, 1 hàng bị ảnh hưởng (0,10 giây) mysql> chèn vào giá trị sumOfFieldsDemo (ClientSerialNumber, ClientCost) ('1111', 1000); Truy vấn OK, 1 hàng bị ảnh hưởng (0,16 giây) mysql> chèn vào giá trị sumOfFieldsDemo (ClientSerialNumber, ClientCost) ('1111', 500); Truy vấn OK, 1 hàng bị ảnh hưởng (0,17 giây) mysql> chèn vào giá trị sumOfFieldsDemo (ClientSerialNumber, ClientCost) ('4444', 100); Truy vấn OK, 1 hàng bị ảnh hưởng (0,17 giây) 

Sau đây là truy vấn để hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select -

 mysql> select * from sumOfFieldsDemo; 

Điều này sẽ tạo ra kết quả sau -

 + ---- + -------------------- + ------------ + | Id | ClientSerialNumber | ClientCost | + ---- + -------------------- + ------------ + | 1 | 1111 | 450 || 2 | Năm 2222 | 550 || 3 | 3333 | 150 || 4 | 3333 | 250 || 5 | Năm 2222 | 1000 || 6 | 1111 | 1000 || 7 | 1111 | 500 || 8 | 4444 | 100 | + ---- + -------------------- + ------------ + 8 hàng trong bộ (0,00 giây) 

Đây là truy vấn để tìm tổng các trường có cùng giá trị cột -

 mysql> chọn Id, ClientSerialNumber, SUM (ClientCost) AS TotalSum -> từ sumOfFieldsDemo -> nhóm theo ClientSerialNumber; 

Điều này sẽ tạo ra kết quả sau -

 + ---- + -------------------- + ---------- + | Id | ClientSerialNumber | Tổng cộng | + ---- + -------------------- + ---------- + | 1 | 1111 | Năm 1950 || 2 | Năm 2222 | Năm 1550 || 3 | 3333 | 400 || 8 | 4444 | 100 | + ---- + -------------------- + ---------- + 4 hàng trong bộ (0,00 giây)