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

groupConcat

تم تقديمه في: v24.8.0 يحسب سلسلة نصية ناتجة عن دمج مجموعة من السلاسل النصية، مع إمكانية الفصل بينها بفاصل، ومع إمكانية تقييدها بعدد أقصى من العناصر.
إذا تم تحديد الفاصل بدون limit، فيجب أن يكون هو المَعلَمة الأولى. وإذا تم تحديد كلٍّ من الفاصل وlimit، فيجب أن يسبق الفاصل limit.كذلك، إذا تم تحديد فواصل مختلفة كمَعلَمات ووسائط، فسيُستخدم فقط الفاصل المحدد في الوسائط.
الصيغة
groupConcat[(delimiter [, limit])](expression)
الأسماء البديلة: group_concat, string_agg المعلمات
  • delimiter — سلسلة نصية تُستخدم للفصل بين القيم المتسلسلة. هذه المعلمة اختيارية، وتكون قيمتها الافتراضية سلسلة نصية فارغة إذا لم يتم تحديدها. String
  • limit — عدد صحيح موجب يحدد الحد الأقصى لعدد العناصر المراد تسلسلها. إذا وُجدت عناصر أكثر، فسيتم تجاهل العناصر الزائدة. هذه المعلمة اختيارية. UInt*
الوسائط
  • expression — التعبير أو اسم العمود الذي ينتج السلاسل النصية المراد تسلسلها. String
  • delimiter — سلسلة نصية تُستخدم للفصل بين القيم المتسلسلة. هذه الوسيطة اختيارية، وتكون قيمتها الافتراضية سلسلة نصية فارغة أو الفاصل المحدد في المعلمات إذا لم يتم تحديدها. String
القيمة المُعادة تعيد سلسلة نصية تتكون من القيم المتسلسلة للعمود أو التعبير. إذا لم تحتوِ المجموعة على أي عناصر، أو كانت تحتوي فقط على عناصر NULL، ولم تحدد الدالة طريقة للتعامل مع القيم التي تكون كلها NULL، فستكون النتيجة سلسلة نصية قابلة لأن تكون NULL وقيمتها NULL. String أمثلة الاستخدام الأساسي دون فاصل
Query
SELECT groupConcat(Name) FROM Employees;
Response
JohnJaneBob
استخدام الفاصلة كفاصل (صيغة المَعلمة)
Query
SELECT groupConcat(', ')(Name) FROM Employees;
Response
John, Jane, Bob
استخدام الفاصلة كفاصل (بنية الوسيطة)
Query
SELECT groupConcat(Name, ', ') FROM Employees;
Response
John, Jane, Bob
تقييد عدد العناصر المُدمجة
Query
SELECT groupConcat(', ', 2)(Name) FROM Employees;
Response
John, Jane
آخر تعديل في ٢٥ يونيو ٢٠٢٦