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

Sorting and Separator in Concat الترتيب والفاصل داخل الدمج

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

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

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

تدعم دالة GROUP_CONCAT() جملتين داخليتين لضبط ترتيب العناصر قبل دمجها وتخصيص الفاصل النصي بينها:

  • الترتيب الداخلي ORDER BY: كتابة ORDER BY col ASC داخل قوسي الدالة يرتّب القيم الفرعية أبجدياً أو رقمياً قبل وصلها ببعضها.
  • الفاصل المخصص SEPARATOR: إضافة SEPARATOR ' | ' أو ', ' في نهاية الدالة يستبدل الفاصلة الافتراضية بأي نص تختاره.

احرص دائماً على الالتزام بالترتيب النحوي الصحيح داخل القوسين: DISTINCT أولاً، ثم اسم العمود، ثم ORDER BY، وأخيراً SEPARATOR.

SQL
-- Sort tags alphabetically with a clean custom separator
SELECT article_id,
       COUNT(*) AS tag_count,
       GROUP_CONCAT(
         DISTINCT tag_name
         ORDER BY tag_name ASC
         SEPARATOR ', '
       ) AS tag_list
FROM article_tags
GROUP BY article_id;