Đôi khi bạn có thể chỉ cần tính toán một tỷ lệ phần trăm của hai cột trong cơ sở dữ liệu MySQL. Dưới đây là cách dễ dàng tính toán tỷ lệ phần trăm của hai cột trong MySQL.
Cách tính phần trăm hai cột trong MySQL
Đây là SQL để tính toán tỷ lệ phần trăm của hai cột trong MySQL. Giả sử bạn có bảng sau - doanh số (sales_rep, sale, target)
mysql> create table sales(sales_rep varchar(255),sale int, goal int); mysql> insert into sales(sales_rep,sale,goal) values('Albert',10,20),('Bob',23,33),('Chris',20,25),('Dave',35,40); mysql> select * from sales; +-----------+------+------+ | sales_rep | sale | goal | +-----------+------+------+ | Albert | 10 | 20 | | Bob | 23 | 33 | | Chris | 20 | 25 | | Dave | 35 | 40 | +-----------+------+------+
Giả sử bạn muốn tính toán gain_percent là doanh số bán hàng / mục tiêu * 100 cho mỗi đại diện bán hàng.
Đây là truy vấn SQL để tính toán tỷ lệ phần trăm của hai cột (bán hàng, mục tiêu). Bạn có thể trực tiếp tính toán nó một cách nhanh chóng bằng cách sử dụng các toán tử chia và nhân, như được hiển thị bên dưới.
mysql> select sales_rep,sale,goal, (sale/goal)*100 as attainment_percent from sales; +-----------+------+------+--------------------+ | sales_rep | sale | goal | attainment_percent | +-----------+------+------+--------------------+ | Albert | 10 | 20 | 50.0000 | | Bob | 23 | 33 | 69.6970 | | Chris | 20 | 25 | 80.0000 | | Dave | 35 | 40 | 87.5000 | +-----------+------+------+--------------------+
Phần thưởng đọc:Cách tự động hóa các truy vấn Pivot Table trong MySQL
Nếu bạn muốn làm tròn số phần trăm thành 2 chữ số thập phân, bạn có thể sử dụng hàm ROUND như được hiển thị
mysql> select sales_rep,sale,goal, round((sale/goal)*100,2) as attainment_percent from sales; +-----------+------+------+--------------------+ | sales_rep | sale | goal | attainment_percent | +-----------+------+------+--------------------+ | Albert | 10 | 20 | 50.00 | | Bob | 23 | 33 | 69.70 | | Chris | 20 | 25 | 80.00 | | Dave | 35 | 40 | 87.50 | +-----------+------+------+--------------------+
Nếu bạn chỉ muốn tính tỷ lệ phần trăm của hai cột cho các hàng cụ thể, hãy thêm mệnh đề WHERE như được in đậm bên dưới
mysql> select sales_rep,sale,goal ,round((sale/goal)*100,2) as attainment_percent from sales where sales_rep in ('Bob','Dave'); +-----------+------+------+--------------------+ | sales_rep | sale | goal | attainment_percent | +-----------+------+------+--------------------+ | Bob | 23 | 33 | 69.70 | | Dave | 35 | 40 | 87.50 | +-----------+------+------+--------------------+
Phần thưởng đọc:Cách tính toán trung bình động trong MySQL
Nếu tổng dữ liệu của bạn được trải rộng trên nhiều cột, như được hiển thị bên dưới,
mysql> create table sales(sales_rep varchar(255),sale int, sale2 int,sale3 int); mysql> insert into sales(sales_rep,sale,sale2,sale3) values('Albert',10,20,10),('Bob',23,33,20), ('Chris',20,25,15),('Dave',35,40,20); mysql> select * from sales; +-----------+------+-------+-------+ | sales_rep | sale | sale2 | sale3 | +-----------+------+-------+-------+ | Albert | 10 | 20 | 10 | | Bob | 23 | 33 | 20 | | Chris | 20 | 25 | 15 | | Dave | 35 | 40 | 20 | +-----------+------+-------+-------+
thì bạn có thể tính toán phần trăm của mỗi cột bằng cách tổng cộng các giá trị của chúng một cách nhanh chóng, như được hiển thị bên dưới.
mysql> select sales_rep,sale, sale2,sale3, (sale/(sale+sale2+sale3))*100 as sale_pct, (sale2/(sale+sale2+sale3))*100 as sale2_pct, (sale3/(sale+sale2+sale3))*100 as sale3_pct from sales; +-----------+------+-------+-------+----------+-----------+-----------+ | sales_rep | sale | sale2 | sale3 | sale_pct | sale2_pct | sale3_pct | +-----------+------+-------+-------+----------+-----------+-----------+ | Albert | 10 | 20 | 10 | 25.0000 | 50.0000 | 25.0000 | | Bob | 23 | 33 | 20 | 30.2632 | 43.4211 | 26.3158 | | Chris | 20 | 25 | 15 | 33.3333 | 41.6667 | 25.0000 | | Dave | 35 | 40 | 20 | 36.8421 | 42.1053 | 21.0526 | +-----------+------+-------+-------+----------+-----------+-----------+
Bạn có thể tùy chỉnh truy vấn trên để tính toán tỷ lệ phần trăm của hai cột, theo yêu cầu của bạn.
Bạn cũng có thể sử dụng công cụ báo cáo để vẽ dữ liệu này trên bảng hoặc trang tổng quan và chia sẻ dữ liệu đó với nhóm của bạn. Dưới đây là ví dụ về bảng có dữ liệu ở trên, được tạo bằng Ubiq.
Nếu bạn muốn tạo biểu đồ, trang tổng quan và 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.