groupConcat
تم تقديمه في: v24.8.0
يحسب سلسلة نصية ناتجة عن دمج مجموعة من السلاسل النصية، مع إمكانية الفصل بينها بفاصل، ومع إمكانية تقييدها بعدد أقصى من العناصر.
الصيغة
groupConcat[(delimiter [, limit])](expression)الأسماء البديلة: group_concat, string_agg
المعلمات
delimiter— سلسلة نصية تُستخدم للفصل بين القيم المتسلسلة. هذه المعلمة اختيارية، وتكون قيمتها الافتراضية سلسلة نصية فارغة إذا لم يتم تحديدها.Stringlimit— عدد صحيح موجب يحدد الحد الأقصى لعدد العناصر المراد تسلسلها. إذا وُجدت عناصر أكثر، فسيتم تجاهل العناصر الزائدة. هذه المعلمة اختيارية.UInt*
الوسائط
expression— التعبير أو اسم العمود الذي ينتج السلاسل النصية المراد تسلسلها.Stringdelimiter— سلسلة نصية تُستخدم للفصل بين القيم المتسلسلة. هذه الوسيطة اختيارية، وتكون قيمتها الافتراضية سلسلة نصية فارغة أو الفاصل المحدد في المعلمات إذا لم يتم تحديدها.String
القيمة المُعادة
تعيد سلسلة نصية تتكون من القيم المتسلسلة للعمود أو التعبير. إذا لم تحتوِ المجموعة على أي عناصر، أو كانت تحتوي فقط على عناصر NULL، ولم تحدد الدالة طريقة للتعامل مع القيم التي تكون كلها NULL، فستكون النتيجة سلسلة نصية قابلة لأن تكون NULL وقيمتها NULL. String
أمثلة
الاستخدام الأساسي دون فاصل
CREATE TABLE Employees (Name String) ENGINE = Memory;
INSERT INTO Employees VALUES ('John'), ('Jane'), ('Bob');
SELECT groupConcat(Name) FROM Employees;JohnJaneBobاستخدام الفاصلة كفاصل (صيغة المَعلمة)
SELECT groupConcat(', ')(Name) FROM Employees;John, Jane, Bobاستخدام الفاصلة كفاصل (بنية الوسيطة)
SELECT groupConcat(Name, ', ') FROM Employees;John, Jane, Bobتقييد عدد العناصر المُدمجة
SELECT groupConcat(', ', 2)(Name) FROM Employees;John, Jane