การกรองข้อมูลด้วยค่า 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;
ผลลัพธ์
| StudentId | status |
|---|---|
| 99 | Active |
| 101 | Active |
ข้อสังเกต: การใช้ GROUP BY StudentId ทำให้ได้ StudentId ที่มีสถานะ Active อย่างน้อย 1 รายการ (MySQL อนุญาตให้ SELECT คอลัมน์ที่ไม่ได้อยู่ใน GROUP BY หรือ Aggregate function)