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

เก็บผลลัพธ์ Query ไว้ในตัวแปร User Variable ใน MySQL

SET @variable = (SELECT ...) - เก็บค่าจาก Query ลงตัวแปร

ใช้คำสั่ง SET กำหนดค่า User Variable จาก Subquery ที่คืนค่า Single Value

รูปแบบคำสั่ง (Syntax)

SET @variable_name = (SELECT aggregate_function(column) FROM table_name);

ตัวอย่างการใช้งาน

สร้างตาราง QueryResultDemo:

CREATE TABLE QueryResultDemo (
    Price INT
);

INSERT INTO QueryResultDemo VALUES (100), (20), (200), (80);

ข้อมูล:

Price
100
20
200
80

เก็บผลรวมราคาไว้ใน @TotalPrice:

SET @TotalPrice = (SELECT SUM(Price) FROM QueryResultDemo);

ตรวจสอบค่า:

SELECT @TotalPrice;

ผลลัพธ์:

@TotalPrice
400

รูปแบบอื่น: SELECT ... INTO

SELECT SUM(Price) INTO @TotalPrice FROM QueryResultDemo;

ข้อควรทราบเกี่ยวกับ User Variables (@var)

  • Scope: Session-level (หายเมื่อ Disconnect)
  • ชื่อขึ้นต้นด้วย @ (เช่น @total, @my_var)
  • ไม่ต้อง Declare ก่อนใช้ (Implicit declaration)
  • Data Type ถูก Infer จากค่าที่ Assign
  • ใช้ได้ใน WHERE, ORDER BY, LIMIT, และคำสั่งถัดไปใน Session เดียวกัน