> ## 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.

> يحسب العدد التقريبي لقيم الوسيط المختلفة باستخدام خوارزمية HyperLogLog.

# uniqHLL12

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

أُضيف في: v1.1.0

يحسب العدد التقريبي لقيم الوسائط المختلفة باستخدام خوارزمية [HyperLogLog](https://en.wikipedia.org/wiki/HyperLogLog).

<Warning>
  لا نوصي باستخدام هذه الدالة. في معظم الحالات، استخدم الدالة [uniq](/ar/reference/functions/aggregate-functions/uniq) أو [uniqCombined](/ar/reference/functions/aggregate-functions/uniqCombined).
</Warning>

<Accordion title="تفاصيل التنفيذ">
  تحسب هذه الدالة قيمة hash لجميع المعلمات في التجميع، ثم تستخدمها في الحساب.
  وتستخدم خوارزمية HyperLogLog لتقدير عدد قيم الوسائط المختلفة.

  يُستخدم 2^12 من الخلايا ذات 5 بت.
  حجم الحالة يزيد قليلًا على 2.5 كيلوبايت.
  النتيجة ليست دقيقة جدًا (بهامش خطأ يصل إلى \~10%) لمجموعات البيانات الصغيرة (\<10K عنصر).
  ومع ذلك، تكون النتيجة دقيقة بدرجة معقولة لمجموعات البيانات عالية الكاردينالية (10K-100M)، مع حد أقصى للخطأ يبلغ \~1.6%.
  واعتبارًا من 100M، يزداد خطأ التقدير، وستُرجع الدالة نتائج غير دقيقة جدًا لمجموعات البيانات ذات الكاردينالية العالية للغاية (1B+ عنصر).

  توفّر نتيجة حتمية (إذ لا تعتمد على ترتيب معالجة الاستعلام).
</Accordion>

**الصياغة**

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

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

* `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}
CREATE TABLE example_hll
(
    id UInt32,
    category String
)
ENGINE = Memory;

INSERT INTO example_hll VALUES
(1, 'A'), (2, 'B'), (3, 'A'), (4, 'C'), (5, 'B'), (6, 'A');

SELECT uniqHLL12(category) AS hll_unique_categories
FROM example_hll;
```

```response title=Response theme={null}
┌─hll_unique_categories─┐
│                     3 │
└───────────────────────┘
```

**راجع أيضًا**

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