จากการเก็บตาราง config ในแบบ คณิตศาสตร์: อันตรภาคชั้น (Class Interval) จะยกตัวเองการออกแบบตารางอันตรภาคชั้นแบบที่สองและเทียบข้อแตกต่าง
2 การสร้าง Table อ้างอิง (Reference Table) , ตารางอันตรภาคชั้น (Class Interval)
เพื่อให้ระบบรองรับการเปลี่ยนแปลงของทฤษฎีในอนาคต การเก็บเกณฑ์ไว้ใน Table จะดีกว่าการ Hard-code ไว้ใน SQL ครับ
brain_development_stages
| stage_id | stage_name | min_age | max_age | key_characteristic |
| 1 | Childhood | 0 | 8 | Rapid Growth (3y focus) |
| 2 | Adolescence (Restructuring) | 9 | 31 | High Neuroplasticity / Emotional focus |
| 3 | Golden Age (Adult) | 32 | 65 | Peak Stability & Efficiency |
| 4 | Early Senior | 66 | 82 | Gradual Decline |
| 5 | Late Senior | 83 | 150 | Significant Connection Loss |
วิธีใช้ Common Table Expression (CTE)
วิธีนี้เหมาะสำหรับกรณีที่คุณมีตาราง Users อยู่แล้ว และต้องการดึงข้อมูลออกมาจัดกลุ่มทันทีโดยไม่ต้องสร้าง Table เพิ่ม (อย่าง brain_development_stages) ใน Database ครับ
SQL
WITH BrainStages AS (SELECT 0 AS min_age, 8 AS max_age, 'Childhood' AS stage_name, 'Rapid Growth (3y focus) ' AS key_characteristic UNION ALL SELECT 9, 31, 'Adolescence (Restructuring) ', 'High Neuroplasticity / Emotional focus' UNION ALL SELECT 32, 65, 'Golden Age (Adult) ', 'Peak Stability & Efficiency' UNION ALL SELECT 66, 82, 'Early Senior', 'Gradual Decline' UNION ALL SELECT 83, 150, 'Late Senior', 'Significant Connection Loss') SELECT u.name, u.age, s.stage_name, s.key_characteristic
FROM Users u
LEFT JOIN BrainStages s ON u.age BETWEEN s.min_age AND s.max_age;