การเตรียมข้อมูล
mysql> CREATE TABLE DemoTable1844 (
Number INT,
TotalNumber INT
);
mysql> INSERT INTO DemoTable1844 VALUES(50,500);
mysql> INSERT INTO DemoTable1844 VALUES(80,500);
mysql> INSERT INTO DemoTable1844 VALUES(98,500);
mysql> INSERT INTO DemoTable1844 VALUES(45,500);
คำนวณเปอร์เซ็นต์พร้อมปัดทศนิยม 2 ตำแหน่ง
mysql> SELECT CONCAT(ROUND((Number / TotalNumber) * 100, 2), '%') AS Result
FROM DemoTable1844;
ผลลัพธ์:
+--------+
| Result |
+--------+
| 10.00% |
| 16.00% |
| 19.60% |
| 9.00% |
+--------+
การแยกขั้นตอน
-- 1. คำนวณสัดส่วน (ทศนิยม)
Number / TotalNumber -- 0.1, 0.16, 0.196, 0.09
-- 2. คูณ 100 ได้เปอร์เซ็นต์
(Number / TotalNumber) * 100 -- 10, 16, 19.6, 9
-- 3. ปัดทศนิยม 2 ตำแหน่ง
ROUND(..., 2) -- 10.00, 16.00, 19.60, 9.00
-- 4. ต่อสตริง '%'
CONCAT(..., '%') -- '10.00%', '16.00%', ...
ฟังก์ชันที่ใช้
ROUND(number, decimals)- ปัดเศษตามหลักที่กำหนดCONCAT(str1, str2, ...)- ต่อสตริงFORMAT(number, decimals)- จัดรูปแบบตัวเลขพร้อมคั่นพัน (ไทย: 1,000.00)
ตัวอย่างเพิ่มเติม
-- ใช้ FORMAT แทน (มีคั่นพัน)
SELECT CONCAT(FORMAT((Number/TotalNumber)*100, 2), '%') FROM DemoTable1844;
-- คำนวณใน Subquery เพื่อนำไปใช้ต่อ
SELECT *, (Number/TotalNumber)*100 AS pct FROM DemoTable1844;