Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

groupConcat

groupConcat

تم تقديمه في: v24.8.0

يحسب سلسلة نصية ناتجة عن دمج مجموعة من السلاسل النصية، مع إمكانية الفصل بينها بفاصل، ومع إمكانية تقييدها بعدد أقصى من العناصر.

الصيغة

groupConcat[(delimiter [, limit])](expression)

الأسماء البديلة: group_concat, string_agg

المعلمات

  • delimiter — سلسلة نصية تُستخدم للفصل بين القيم المتسلسلة. هذه المعلمة اختيارية، وتكون قيمتها الافتراضية سلسلة نصية فارغة إذا لم يتم تحديدها. String
  • limit — عدد صحيح موجب يحدد الحد الأقصى لعدد العناصر المراد تسلسلها. إذا وُجدت عناصر أكثر، فسيتم تجاهل العناصر الزائدة. هذه المعلمة اختيارية. UInt*

الوسائط

  • expression — التعبير أو اسم العمود الذي ينتج السلاسل النصية المراد تسلسلها. String
  • delimiter — سلسلة نصية تُستخدم للفصل بين القيم المتسلسلة. هذه الوسيطة اختيارية، وتكون قيمتها الافتراضية سلسلة نصية فارغة أو الفاصل المحدد في المعلمات إذا لم يتم تحديدها. 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
Navigation