> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> يحسب العدد التقريبي لقيم الوسائط المختلفة. وهو مماثل لـ uniqCombined، لكنه يستخدم تجزئة 64 بت لجميع أنواع البيانات بدلًا من استخدامها فقط مع نوع البيانات String.

# uniqCombined64

<div id="uniqCombined64">
  ## uniqCombined64
</div>

أُضيف في: v20.1.0

يحسب العدد التقريبي لقيم الوسائط المختلفة.
وهو مماثل لـ [`uniqCombined`](/ar/reference/functions/aggregate-functions/uniqCombined)، لكنه يستخدم تجزئة 64 بت لجميع أنواع البيانات بدلًا من استخدامها فقط مع نوع البيانات String.

توفّر هذه الدالة النتيجة بشكل حتمي (أي إنها لا تعتمد على ترتيب معالجة الاستعلام).

<Note>
  وبما أنها تستخدم تجزئة 64 بت لجميع الأنواع، فإن النتيجة لا تعاني من ارتفاع كبير جدًا في نسبة الخطأ عند أعداد العناصر المميّزة الأكبر بكثير من `UINT_MAX`، كما هو الحال في [`uniqCombined`](/ar/reference/functions/aggregate-functions/uniqCombined) الذي يستخدم تجزئة 32 بت للأنواع غير String.
</Note>

بالمقارنة مع الدالة [uniq](/ar/reference/functions/aggregate-functions/uniq)، فإن الدالة uniqCombined64:

* تستهلك ذاكرة أقل بعدة مرات
* تحسب بدقة أعلى بعدة مرات

<Accordion title="تفاصيل التنفيذ">
  تحسب هذه الدالة تجزئة 64 بت لجميع أنواع البيانات ولكل المعلمات في التجميع، ثم تستخدمها في الحسابات.
  وهي تستخدم مزيجًا من ثلاث خوارزميات: المصفوفة، وجدول التجزئة، و[HyperLogLog](https://en.wikipedia.org/wiki/HyperLogLog) مع جدول لتصحيح الأخطاء:

  * عند وجود عدد صغير من العناصر المميّزة، تُستخدم مصفوفة
  * عندما يزداد حجم المجموعة، يُستخدم جدول تجزئة
  * ومع عدد أكبر من العناصر، يُستخدم HyperLogLog، الذي يشغل مقدارًا ثابتًا من الذاكرة
</Accordion>

**الصياغة**

```sql theme={null}
uniqCombined64(HLL_precision)(x[, ...])
uniqCombined64(x[, ...])
```

**المعلمات**

* `HLL_precision` — اختياري. اللوغاريتم الثنائي لعدد الخلايا في HyperLogLog. القيمة الافتراضية هي 17، وهو ما يعادل فعليًا 96 KiB من المساحة (2^17 خلية، 6 بتات لكل خلية). النطاق: \[12, 20]. [`UInt8`](/ar/reference/data-types/int-uint)

**الوسيطات**

* `x` — عدد متغيّر من المعلمات. [`Tuple(T)`](/ar/reference/data-types/tuple) أو [`Array(T)`](/ar/reference/data-types/array) أو [`Date`](/ar/reference/data-types/date) أو [`DateTime`](/ar/reference/data-types/datetime) أو [`String`](/ar/reference/data-types/string) أو [`(U)Int*`](/ar/reference/data-types/int-uint) أو [`Float*`](/ar/reference/data-types/float) أو [`Decimal`](/ar/reference/data-types/decimal)

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

تعيد عددًا من النوع UInt64 يمثّل العدد التقريبي لقيم الوسيطات المختلفة. [`UInt64`](/ar/reference/data-types/int-uint)

**أمثلة**

**مثال على مجموعة بيانات كبيرة**

```sql title=Query theme={null}
SELECT uniqCombined64(number) FROM numbers(1e10);
```

```response title=Response theme={null}
┌─uniqCombined64(number)─┐
│             9998568925 │
└────────────────────────┘
```

**مقارنة بـ uniqCombined**

```sql title=Query theme={null}
-- uniqCombined64 with large dataset
SELECT uniqCombined64(number) FROM numbers(1e10);

-- uniqCombined with same dataset shows poor approximation
SELECT uniqCombined(number) FROM numbers(1e10);
```

```response title=Response theme={null}
┌─uniqCombined64(number)─┐
│             9998568925 │ -- 10.00 billion
└────────────────────────┘
┌─uniqCombined(number)─┐
│           5545308725 │ -- 5.55 billion
└──────────────────────┘
```

**انظر أيضًا**

* [uniq](/ar/reference/functions/aggregate-functions/uniq)
* [uniqCombined](/ar/reference/functions/aggregate-functions/uniqCombined)
* [uniqHLL12](/ar/reference/functions/aggregate-functions/uniqHLL12)
* [uniqExact](/ar/reference/functions/aggregate-functions/uniqExact)
* [uniqTheta](/ar/reference/functions/aggregate-functions/uniqthetasketch)
