Cách tính toán trong mysql


Để tính giá trị từ nhiều cột, hãy sử dụng GROUP BY. Sau đây là cú pháp -

select yourColumnName1,sum(yourColumnName2*yourColumnName3) AS anyAliasName
from yourTableName group by yourColumnName1;

Trước tiên chúng ta hãy tạo một bảng -

mysql> create table calculateValueDemo
   -> (
   -> Id int,
   -> ProductPrice int,
   -> ProductWeight int
   -> );
Query OK, 0 rows affected (0.56 sec)

Sau đây là truy vấn để chèn các bản ghi vào bảng bằng cách sử dụng lệnh chèn -

mysql> insert into calculateValueDemo values(100,35,5);
Query OK, 1 row affected (0.16 sec)

mysql> insert into calculateValueDemo values(101,50,3);
Query OK, 1 row affected (0.16 sec)

mysql> insert into calculateValueDemo values(100,100,4);
Query OK, 1 row affected (0.17 sec)

mysql> insert into calculateValueDemo values(101,500,2);
Query OK, 1 row affected (0.22 sec)

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 calculateValueDemo;

Điều này sẽ tạo ra đầu ra sau -

+------+--------------+---------------+
| Id   | ProductPrice | ProductWeight |
+------+--------------+---------------+
| 100  | 35           | 5             |
| 101  | 50           | 3             |
| 100  | 100          | 4             |
| 101  | 500          | 2             |
+------+--------------+---------------+
4 rows in set (0.00 sec)

Đây là truy vấn để tính giá trị từ nhiều cột -

mysql> select Id,sum(ProductPrice*ProductWeight) AS Total from calculateValueDemo group
by Id;

Điều này sẽ tạo ra đầu ra sau -

+------+-------+
| Id   | Total |
+------+-------+
| 100  | 575   |
| 101  | 1150  |
+------+-------+
2 rows in set (0.00 sec)

Cách tính toán trong mysql

Cập nhật ngày 30-Jul-2019 22. 30. 25

Đôi khi bạn có thể cần tính tỷ lệ phần trăm của một cột (e. g bán hàng, doanh thu) trong dữ liệu của bạn để hiểu phần trăm tổng giá trị của cột đến từ mỗi hàng (e. g quốc gia, tiểu bang, v.v.). Vì không có hàm sẵn dùng để tính giá trị này nên bạn cần viết truy vấn SQL cho nó. Đây là cách tính tỷ lệ phần trăm của cột trong MySQL

 

Cách tính phần trăm cột trong MySQL

 

Giả sử bạn có bảng sau như hình bên dưới

mysql> create table sales(rep varchar(255),sale int);

mysql> insert into sales values('Bob',15),('Sally',30),('Peter',15);

mysql> select * from sales;
+-------+------+
|  rep  | sale |
+-------+------+
|  Bob  |  15  |
| Sally |  30  |
| Peter |  15  |
+-------+------+

 

Giả sử bạn muốn hiển thị cột 'phần trăm trên tổng số', cột này chỉ đơn giản là cột phần trăm của tổng doanh thu, như được hiển thị bên dưới

________số 8

 

Bạn có thể thực hiện việc này theo nhiều cách chỉ bằng một truy vấn duy nhất. Không cần phải viết các truy vấn riêng biệt để tính tổng và tỷ lệ phần trăm. Hãy xem xét từng người trong số họ

Phần thưởng đọc. Cách tính tỷ lệ phần trăm của hai cột trong MySQL

 

Cách tính tỷ lệ phần trăm của cột trong MySQL bằng CROSS JOIN

Để tính tỷ lệ phần trăm của cột trong MySQL, bạn chỉ cần nối chéo cột sum() of sale với bảng gốc

SELECT Rep, Sale, Sale * 100 / t.s AS `percent of total`
FROM sales
CROSS JOIN (SELECT SUM(sale) AS s FROM sales) t;

+-------+------+------------------+
|  rep  | sale | percent of total |
+-------+------+------------------+
|  Bob  |  15  |        25        |
| Sally |  30  |        50        |
| Peter |  15  |        25        |
+-------+------+------------------+

Nếu bạn muốn thêm mệnh đề where để lọc dữ liệu của mình, bạn cần đặt nó sau CROSS JOIN, như hình bên dưới. Nếu không, bạn sẽ gặp lỗi

mysql> create table calculateValueDemo
   -> (
   -> Id int,
   -> ProductPrice int,
   -> ProductWeight int
   -> );
Query OK, 0 rows affected (0.56 sec)
0

 

Tuy nhiên, nếu bạn muốn thêm mệnh đề where trong khi tính tổng cột, bạn cần thêm nó vào mệnh đề select of total, như minh họa bên dưới. Giả sử, bạn muốn loại trừ Bob khỏi tổng số, thì đây là truy vấn để thực hiện điều đó

mysql> create table calculateValueDemo
   -> (
   -> Id int,
   -> ProductPrice int,
   -> ProductWeight int
   -> );
Query OK, 0 rows affected (0.56 sec)
1

 

Phần thưởng đọc. Cách tính phần trăm tăng trưởng theo tuần trong MySQL

 

Cách tính tỷ lệ phần trăm của cột trong MySQL bằng SUBSELECT/SUBQUERY

Bạn cũng có thể tính tỷ lệ phần trăm của cột bằng cách sử dụng một lựa chọn phụ, thay vì sử dụng THAM GIA, như được hiển thị bên dưới

mysql> create table calculateValueDemo
   -> (
   -> Id int,
   -> ProductPrice int,
   -> ProductWeight int
   -> );
Query OK, 0 rows affected (0.56 sec)
2

 

Nếu bạn muốn thêm mệnh đề where để lọc dữ liệu của mình, bạn cần đặt nó sau CROSS JOIN, như hình bên dưới. Nếu không, bạn sẽ gặp lỗi

mysql> create table calculateValueDemo
   -> (
   -> Id int,
   -> ProductPrice int,
   -> ProductWeight int
   -> );
Query OK, 0 rows affected (0.56 sec)
3

 

Tuy nhiên, nếu bạn muốn thêm mệnh đề where trong khi tính tổng cột, bạn cần thêm nó vào mệnh đề select of total. Giả sử, bạn muốn loại trừ Bob khỏi tổng số, thì đây là truy vấn để thực hiện điều đó

mysql> create table calculateValueDemo
   -> (
   -> Id int,
   -> ProductPrice int,
   -> ProductWeight int
   -> );
Query OK, 0 rows affected (0.56 sec)
4

Bạn có thể tùy chỉnh các truy vấn trên theo yêu cầu của mình để tính phần trăm cột trong MySQL

Hơn nữa, bạn có thể sử dụng công cụ báo cáo để vẽ dữ liệu trong biểu đồ hình tròn hoặc bảng điều khiển. Đây là một ví dụ về biểu đồ hình tròn được tạo bằng Ubiq

Cách tính toán trong mysql

Nếu bạn muốn tạo biểu đồ, bảng điều khiển & báo cáo từ cơ sở dữ liệu MySQL, bạn có thể thử Ubiq. Chúng tôi cung cấp bản dùng thử miễn phí 14 ngày

Làm thế nào để MySQL tính toán có nghĩa là?

MySQL Hàm AVG() . Ghi chú. Giá trị NULL bị bỏ qua.

Làm cách nào để tính tổng hai cột trong MySQL?

Hàm MySQL SUM() truy xuất giá trị tổng của một biểu thức được tạo thành từ nhiều cột. Câu lệnh MySQL ở trên trả về tổng của phép nhân 'receive_qty' và 'purch_price' từ bảng mua hàng cho từng nhóm danh mục ('cate_id').