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

คำนวณค่าทางคณิตศาสตร์ตามเงื่อนไขด้วย CASE WHEN ใน MySQL

ใช้ CASE WHEN ในคำสั่ง SELECT เพื่อคำนวณค่าต่างกันตามเงื่อนไข พร้อมทำการคำนวณทางคณิตศาสตร์

สร้างตารางและเพิ่มข้อมูล

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    FruitName VARCHAR(100),
    FruitPrice INT
);
mysql> INSERT INTO DemoTable(FruitName, FruitPrice) VALUES
    ('Orange', 250), ('Banana', 100), ('Apple', 150), ('Pomegranate', 200);

ดูข้อมูล

mysql> SELECT * FROM DemoTable;
+----+-------------+------------+
| Id | FruitName   | FruitPrice |
+----+-------------+------------+
|  1 | Orange      |        250 |
|  2 | Banana      |        100 |
|  3 | Apple       |        150 |
|  4 | Pomegranate |        200 |
+----+-------------+------------+

คำนวณราคาพิเศษ: Orange ลดเหลือ 1/5, อื่นๆ คงเดิม

mysql> SELECT Id, FruitName, FruitPrice,
    -> CASE
    ->     WHEN FruitName = 'Orange' THEN FruitPrice / 5
    ->     ELSE FruitPrice
    -> END AS OriginalPrice
    -> FROM DemoTable;

ผลลัพธ์

+----+-------------+------------+---------------+
| Id | FruitName   | FruitPrice | OriginalPrice |
+----+-------------+------------+---------------+
|  1 | Orange      |        250 |         50.00 |
|  2 | Banana      |        100 |           100 |
|  3 | Apple       |        150 |           150 |
|  4 | Pomegranate |        200 |           200 |
+----+-------------+------------+---------------+

ประโยชน์: คำนวณได้หลายเงื่อนไข พร้อมใช้งานคณิตศาสตร์ (+, -, *, /) ในแต่ละเงื่อนไข