دوال التجميع تحسب قيمة واحدة من مجموعة من الصفوف — COUNT و SUM و AVG و MIN و MAX. وهي ضرورية لتلخيص البيانات (الإجماليات والمتوسطات والعدادات)، خاصة عند دمجها مع .
دوال التجميع تحسب قيمة واحدة من مجموعة من الصفوف — COUNT و SUM و AVG و MIN و MAX. وهي ضرورية لتلخيص البيانات (الإجماليات والمتوسطات والعدادات)، خاصة عند دمجها مع .
GROUP BYSELECT
COUNT(*) AS total_rows, -- count all rows
COUNT(email) AS rows_with_email, -- count NON-NULL emails (ignores NULLs!)
SUM(amount) AS total_amount, -- sum of a column
AVG(price) AS average_price, -- average
MIN(price) AS lowest, -- minimum
MAX(price) AS highest -- maximum
FROM orders;
كل دالة تختزل عدة صفوف إلى قيمة واحدة. تعمل SUM و AVG على الأرقام؛ و MIN و MAX على الأرقام أو التواريخ أو النصوص؛ و COUNT على أي شيء.
COUNT(*) -- counts ALL rows (including those with NULLs)
COUNT(email) -- counts only rows where email is NOT NULL
COUNT(DISTINCT country) -- counts UNIQUE non-null values
COUNT(*) تحسب جميع الصفوف، لكن COUNT(column) تحسب فقط الصفوف حيث تلك العمود ليست NULL — فرق دقيق لكن مهم. COUNT(DISTINCT col) تحسب القيم الفريدة.
-- aggregate PER GROUP instead of the whole table
SELECT country, COUNT(*) AS users, AVG(age) AS avg_age
FROM users
GROUP BY country; -- one result row per country
-- → for each country: how many users and their average age
بدون GROUP BY، دالة التجميع تلخص النتيجة بأكملها إلى صف واحد. مع GROUP BY، تنتج صف ملخص واحد لكل مجموعة — الاستخدام النموذجي والقوي.
-- ❌ ERROR — can't mix an aggregate with a non-grouped column
SELECT name, COUNT(*) FROM users; -- which name? ambiguous
-- ✅ either group by it, or only select aggregates
SELECT country, COUNT(*) FROM users GROUP BY country;
dوال التجميع ضرورية لـ تلخيص وتحليل البيانات — حساب الإجماليات والمتوسطات والعدادات والقيم القصوى هو احتياج ثابت في التقارير والتحليلات واللوحات التحكم ومنطق التطبيق، لذا فهم هذه الدوال معرفة SQL أساسية.
معرفة الدوال الرئيسية (COUNT و SUM و AVG و MIN و MAX) وكيف تختزل مجموعات الصفوف إلى قيم واحدة ضرورية لأي تلخيص بيانات.
التفصيل المهم والمفهوم بشكل خاطئ غالباً هو الفرق بين COUNT(*) و COUNT(column) (COUNT(*) تحسب جميع الصفوف، COUNT(column) تحسب فقط القيم غير الخالية — التي يمكن أن تعطي نتائج مختلفة ومفاجئة)، إلى جانب COUNT(DISTINCT) للقيم الفريدة.
الأقوى، دوال التجميع تجمع مع GROUP BY لإنتاج ملخصات حسب المجموعة (عدادات/متوسطات لكل فئة) — أساس الاستعلامات التحليلية.
فهم الخدعة أنك لا يمكنك دمج دوال التجميع مع الأعمدة غير المجمعة (خطأ شائع) مهم أيضاً.
بما أن تلخيص البيانات مهمة قاعدة بيانات في كل مكان (كل تقرير ولوحة تحكم واستعلام تحليلي يستخدم دوال التجميع)، وبما أن فهم الدوال والتفاصيل الدقيقة لـ COUNT وخاصة دمجها مع GROUP BY أساسي للتحليل البيانات في SQL، فإن إتقان دوال التجميع معرفة أساسية متكررة التطبيق ضرورية للعمل مع البيانات — تجسير الاستعلام الأساسي والقوة التحليلية والملخصة التي تجعل SQL قيمة للتقارير والرؤى.