การคำนวณคอลัมน์ใหม่จากคอลัมน์เดิมด้วย Arithmetic Operator ใน SELECT
เราสามารถสร้างคอลัมน์คำนวณ (Computed Column) ในผลลัพธ์ SELECT ได้โดยตรง โดยใช้ตัวดำเนิการคณิตศาสตร์ (+, -, *, /) ระหว่างคอลัมน์
สร้างตารางและเพิ่มข้อมูล
mysql> CREATE TABLE DemoTable (Price INT, Quantity INT);
Query OK, 0 rows affected (0.71 sec)
mysql> INSERT INTO DemoTable VALUES(45,3);
mysql> INSERT INTO DemoTable VALUES(90,2);
mysql> INSERT INTO DemoTable VALUES(440,1);
แสดงข้อมูลทั้งหมด
mysql> SELECT * FROM DemoTable;
ผลลัพธ์:
+-------+----------+
| Price | Quantity |
+-------+----------+
| 45 | 3 |
| 90 | 2 |
| 440 | 1 |
+-------+----------+
3 rows in set (0.00 sec)
คำสั่ง SELECT พร้อมคอลัมน์คำนวณ TotalAmount
mysql> SELECT Price, Quantity, Price * Quantity AS TotalAmount FROM DemoTable;
ผลลัพธ์:
+-------+----------+-------------+
| Price | Quantity | TotalAmount |
+-------+----------+-------------+
| 45 | 3 | 135 |
| 90 | 2 | 180 |
| 440 | 1 | 440 |
+-------+----------+-------------+
3 rows in set (0.00 sec)
คำอธิบาย
Price * Quantity: คูณราคากับจำนวน → ยอดรวมAS TotalAmount: ตั้งชื่อ Alias ให้คอลัมน์คำนวณ- ไม่ต้อง ALTER TABLE เพิ่มคอลัมน์จริง (Virtual Column) - แค่ในผลลัพธ์ SELECT
- หากต้องการเก็บจริง ให้ใช้
ALTER TABLE ADD TotalAmount INT GENERATED ALWAYS AS (Price * Quantity) STORED(MySQL 5.7+)