انتقل إلى محتوى الدرس

Concatenating Group Values String دمج القيم بدالة GROUP_CONCAT

ادمج القيم المتعددة غير الفارغة داخل كل مجموعة في سلسلة نصية واحدة باستخدام دالة GROUP_CONCAT(col).
1 صفوف تعليمية
MySQL
8 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

بينما تجمع SUM() الأرقام داخل المجموعة، يوفر MySQL الدالة التجميعية القوية GROUP_CONCAT(expr) لدمج النصوص أو القيم غير الفارغة في كل مجموعة داخل سلسلة نصية واحدة.

  • السلوك الافتراضي: تدمج GROUP_CONCAT(col) جميع القيم غير الفارغة في المجموعة وتفصل بينها بفاصلة عادية , افتراضياً.
  • منع تكرار القيم المدمجة: يمكنك إضافة الكلمة DISTINCT في بداية الدالة على الصورة GROUP_CONCAT(DISTINCT role_name) لدمج القيم الفريدة فقط دون تكرار.

إذا كانت جميع قيم العمود داخل المجموعة فارغة NULL، تُعيد الدالة القيمة NULL.

SQL
-- Combine unique product categories per supplier into one string
SELECT supplier_id,
       COUNT(*)                        AS total_products,
       GROUP_CONCAT(DISTINCT category) AS supplied_categories
FROM products
GROUP BY supplier_id;