Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

groupArray

groupArray

قُدِّم في: v1.1.0

ينشئ مصفوفة من قيم الوسائط. يمكن إضافة القيم إلى المصفوفة بأي ترتيب (غير محدد).

يقيّد الإصدار الثاني (باستخدام المعلَمة max_size) حجم المصفوفة الناتجة إلى max_size عنصرًا. على سبيل المثال، فإن groupArray(1)(x) مكافئ لـ [any(x)].

في بعض الحالات، لا يزال بإمكانك الاعتماد على ترتيب التنفيذ. وينطبق ذلك عندما تأتي SELECT من استعلام فرعي يستخدم ORDER BY، إذا كانت نتيجة الاستعلام الفرعي صغيرة بما يكفي.

تزيل الدالة groupArray قيم NULL من النتيجة.

البنية

groupArray(x)
groupArray(max_size)(x)

الأسماء البديلة: array_agg

المعاملات

  • max_size — اختياري. يحدّ حجم المصفوفة الناتجة إلى max_size من العناصر. UInt64

الوسيطات

  • x — قيم الوسيطات المراد تجميعها في مصفوفة. Any

القيمة المُعادة

يعيد مصفوفة من قيم الوسيطات. Array

أمثلة

الاستخدام الأساسي

CREATE TABLE ck (id UInt8, name String) ENGINE = Memory;
INSERT INTO ck VALUES (1, 'zhangsan'), (1, 'lisi'), (2, 'wangwu');

SELECT id, groupArray(10)(name) FROM ck GROUP BY id ORDER BY id;
┌─id─┬─groupArray(10)(name)─┐
│  1 │ ['zhangsan','lisi']  │
│  2 │ ['wangwu']           │
└────┴──────────────────────┘
Navigation