Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

เพิ่มคอลัมน์ใหม่และคำนวณค่าจาก 2 คอลัมน์เดิมใน MySQL (Price * Quantity)

การคำนวณคอลัมน์ใหม่จากคอลัมน์เดิมด้วย 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+)