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

การเลือกข้อมูลที่มีสถานะ ACTIVE จากคอลัมน์ ENUM ใน MySQL

การกรองข้อมูลด้วยค่า ENUM

คอลัมน์ที่เป็น ENUM สามารถกรองได้โดยเปรียบเทียบกับค่าที่กำหนดไว้ใน ENUM โดยตรง

ตัวอย่าง

CREATE TABLE DemoTable2037 (
    StudentId INT,
    status ENUM('Active', 'Inactive')
);

INSERT INTO DemoTable2037 VALUES
(99, 'Active'), (99, 'Inactive'), (100, 'Inactive'),
(99, 'Active'), (100, 'Inactive'), (101, 'Active'),
(101, 'Active');

-- เลือกเฉพาะ Active และจัดกลุ่มตาม StudentId
SELECT StudentId, status
FROM DemoTable2037
WHERE status = 'Active'
GROUP BY StudentId;

ผลลัพธ์

StudentIdstatus
99Active
101Active

ข้อสังเกต: การใช้ GROUP BY StudentId ทำให้ได้ StudentId ที่มีสถานะ Active อย่างน้อย 1 รายการ (MySQL อนุญาตให้ SELECT คอลัมน์ที่ไม่ได้อยู่ใน GROUP BY หรือ Aggregate function)