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

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

# uniq

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

أُضيفت في: v1.1.0

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

تستخدم هذه الدالة خوارزمية تكيفية لأخذ العينات. وبالنسبة إلى حالة الحساب، تستخدم الدالة عيّنة من قيم hash للعناصر حتى 65536. تتميز هذه الخوارزمية بدقة وكفاءة عاليتين جدًا على CPU. وعندما يحتوي الاستعلام على عدة دوال من هذا النوع، يكون استخدام uniq قريبًا جدًا في السرعة من استخدام الدوال التجميعية الأخرى.

<Accordion title="تفاصيل التنفيذ">
  تحسب هذه الدالة قيمة hash لجميع parameters في التجميع، ثم تستخدمها في الحسابات.
  وهي تستخدم خوارزمية تكيفية لأخذ العينات.
  وبالنسبة إلى حالة الحساب، تستخدم الدالة عيّنة من قيم hash للعناصر حتى 65536.
  تتميز هذه الخوارزمية بدقة وكفاءة عاليتين جدًا على CPU.
  وعندما يحتوي الاستعلام على عدة دوال من هذا النوع، يكون استخدام `uniq` قريبًا جدًا في السرعة من استخدام الدوال التجميعية الأخرى.
</Accordion>

<Tip>
  نوصي باستخدام هذه الدالة بدلًا من المتغيرات الأخرى في جميع السيناريوهات تقريبًا.
</Tip>

**الصياغة**

```sql theme={null}
uniq(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_table (
    id UInt32,
    category String,
    value Float64
) ENGINE = Memory;

INSERT INTO example_table VALUES
(1, 'A', 10.5),
(2, 'B', 20.3),
(3, 'A', 15.7),
(4, 'C', 8.9),
(5, 'B', 12.1),
(6, 'A', 18.4);

SELECT uniq(category) as unique_categories
FROM example_table;
```

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

**عدة وسائط**

```sql title=Query theme={null}
SELECT uniq(category, value) as unique_combinations
FROM example_table;
```

```response title=Response theme={null}
┌─unique_combinations─┐
│                   6 │
└─────────────────────┘
```

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

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