دوال MIN() و MAX() في SQL
دالة MIN() تُرجع أصغر قيمة من العمود المحدد، بينما دالة MAX() تُرجع أكبر قيمة من العمود المحدد.
تُستخدم هذه الدوال لتحليل البيانات واستخراج القيم الحدية بسرعة.
مثال على MIN()
إيجاد أقل سعر في عمود السعر:
SELECT MIN(Price) AS أصغر_سعر
FROM Products;
مثال على MAX()
إيجاد أعلى سعر في عمود السعر:
SELECT MAX(Price) AS أكبر_سعر
FROM Products;
الصياغة (Syntax)
SELECT MIN(column_name)
FROM table_name
WHERE condition;
SELECT MAX(column_name)
FROM table_name
WHERE condition;
مثال على جدول Products
| ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
|---|---|---|---|---|---|
| 1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18 |
| 2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19 |
| 3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10 |
| 4 | Chef Anton's Cajun Seasoning | 2 | 2 | 48 - 6 oz jars | 22 |
| 5 | Chef Anton's Gumbo Mix | 2 | 2 | 36 boxes | 21.35 |
استخدام الاسم المستعار (Alias)
عند استخدام MIN() أو MAX() فإن العمود الناتج لا يكون له اسم وصفي.
لذلك يمكننا استخدام الكلمة المفتاحية AS لإعطاء اسم مخصص:
SELECT MIN(Price) AS SmallestPrice,
MAX(Price) AS LargestPrice
FROM Products;
استخدام MIN() و MAX() مع GROUP BY
يمكننا إيجاد أقل وأعلى سعر لكل فئة (CategoryID) باستخدام:
SELECT CategoryID,
MIN(Price) AS أصغر_سعر,
MAX(Price) AS أكبر_سعر
FROM Products
GROUP BY CategoryID;
تصفية النتائج بعد التجميع باستخدام HAVING
إذا أردنا فقط الفئات التي يكون فيها أعلى سعر أكبر من 20:
SELECT CategoryID,
MIN(Price) AS أصغر_سعر,
MAX(Price) AS أكبر_سعر
FROM Products
GROUP BY CategoryID
HAVING MAX(Price) > 20;
سؤال للتدريب
ماذا تفعل دالة MIN() في SQL؟
- ❌ تُرجع أكبر قيمة في العمود المحدد
- ✅ تُرجع أصغر قيمة في العمود المحدد
- ❌ تحسب متوسط قيم العمود
- ❌ تعد عدد السجلات في العمود
هاشتاجات
#SQL #MIN #MAX #Aggregate_Functions #Database #تعلم_SQL #GroupBy #HAVING #SalemNet
تعليقات
إرسال تعليق