شرح صفوف ومحتوى الفقرة
تتميز دالتا القيمة الصغرى MIN() والقيمة الكبرى MAX() بعملهما على جميع أنواع البيانات القابلة للمقارنة من أرقام وتواريخ وسلاسل نصية.
- مع الأرقام: تستخرج
MIN(price)أقل سعر، وتستخرجMAX(price)أعلى سعر. - مع التواريخ والأوقات: تُعيد
MIN(created_at)أقدم تاريخ مسجل، وتُعيدMAX(created_at)أحدث تاريخ مسجل. - مع النصوص: ترتّب النصوص أبجدياً وفق نظام المقارنة
Collationللعمود وتُعيد أول وآخر قيمة نصية.
إذا كان العمود مفهرساً بفهرس B-Tree، يجلب MySQL قيمتي MIN و MAX لحظياً من أول وآخر ورقة في الفهرس دون قراءة الجدول.
SQL
-- Price range and chronological order window
SELECT MIN(total_usd) AS smallest_order,
MAX(total_usd) AS largest_order,
MIN(created_at) AS first_order_at,
MAX(created_at) AS latest_order_at
FROM orders
WHERE order_status = 'paid';