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

การเก็บคำสั่ง SELECT ลงในตัวแปรผู้ใช้ (User Variable) ใน MySQL

การใช้ User-Defined Variables ใน MySQL

MySQL รองรับตัวแปรผู้ใช้ (User Variables) ที่ขึ้นต้นด้วย @ สามารถเก็บค่าจากคำสั่ง SELECT ไว้ใช้ในคำสั่งต่อไปได้

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

CREATE TABLE DemoTable2013 (Name VARCHAR(20));

INSERT INTO DemoTable2013 VALUES
('Chris'), ('David'), ('Mike'), ('Sam'), ('Bob');

-- เก็บจำนวนแถวไว้ในตัวแปร
SET @query := (SELECT COUNT(*) FROM DemoTable2013);

-- ใช้ตัวแปรในเงื่อนไข WHERE
SELECT Name
FROM DemoTable2013
WHERE (@query := @query - 1) = 0;

ผลลัพธ์

Name
Bob

คำอธิบาย: ตัวแปร @query เริ่มต้นที่ 5 (จำนวนแถว) ทุกแถวที่ตรวจสอบจะลดค่าลง 1 จนเหลือ 0 ที่แถวสุดท้าย (Bob) จึงได้เฉพาะแถวนั้น

ข้อควรระวัง: ลำดับการประเมินตัวแปรใน WHERE อาจแตกต่างไปในเวอร์ชันต่างๆ ควรทดสอบก่อนนำไปใช้ใน Production