> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> يحسب الكمّ المئيني لتسلسل من البيانات الرقمية باستخدام خوارزمية Greenwald-Khanna.

# quantileGK

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

أُضيفت في: v23.4.0

تحسب [`الكمّ المئيني`](https://en.wikipedia.org/wiki/Quantile) لتسلسل من البيانات الرقمية باستخدام خوارزمية [Greenwald-Khanna](http://infolab.stanford.edu/~datar/courses/cs361a/papers/quantiles.pdf).

خوارزمية Greenwald-Khanna هي خوارزمية تُستخدم لحساب الكمّات المئينية على تدفق من البيانات بكفاءة عالية جدًا.
وقد طرحها Michael Greenwald وSanjeev Khanna في عام 2001.
وتُستخدم على نطاق واسع في قواعد البيانات وأنظمة البيانات الضخمة عندما يكون من الضروري حساب الكمّات المئينية بدقة على تدفق كبير من البيانات في الوقت الفعلي.
وتتميّز الخوارزمية بكفاءة عالية جدًا، إذ لا تتطلب سوى مساحة O(log n) وزمن O(log log n) لكل عنصر (حيث إن n هو حجم المُدخلات).
كما أنها عالية الدقة، إذ توفّر قيمة الكمّ المئيني تقريبية باحتمال مرتفع.

تختلف `quantileGK` عن دوال الكمّ المئيني الأخرى في ClickHouse، لأنها تُمكّن المستخدم من التحكم في دقة نتيجة الكمّ المئيني التقريبية.

**الصيغة**

```sql theme={null}
quantileGK(accuracy, level)(expr)
```

**الأسماء البديلة**: `medianGK`

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

* `accuracy` — دقة الكمّ المئيني. عدد صحيح موجب ثابت. كلما زادت قيمة الدقة، قلّ الخطأ. على سبيل المثال، إذا ضُبطت وسيطة الدقة على 100، فسيكون للكمّ المئيني المحسوب خطأ لا يتجاوز 1% باحتمال مرتفع. توجد مفاضلة بين دقة القيم الكمية المحسوبة والتعقيد الحسابي للخوارزمية. فالدقة الأعلى تتطلب مزيدًا من الذاكرة والموارد الحسابية لحساب الكمّ المئيني بدقة، بينما تتيح وسيطة الدقة الأقل تنفيذ الحساب بشكل أسرع وبكفاءة أعلى في استخدام الذاكرة، لكن بدقة أقل قليلًا. [`UInt*`](/docs/ar/reference/data-types/int-uint)
* `level` — اختياري. مستوى الكمّ المئيني. عدد ثابت بفاصلة عائمة من 0 إلى 1. القيمة الافتراضية: 0.5. عند `level=0.5` تحسب الدالة الوسيط. [`Float*`](/docs/ar/reference/data-types/float)

**الوسائط**

* `expr` — تعبير على قيم العمود ينتج عنه أنواع بيانات رقمية أو `Date` أو `DateTime` أو `DateTime64`. [`(U)Int*`](/docs/ar/reference/data-types/int-uint) أو [`Int128`](/docs/ar/reference/data-types/int-uint) أو [`UInt128`](/docs/ar/reference/data-types/int-uint) أو [`Int256`](/docs/ar/reference/data-types/int-uint) أو [`UInt256`](/docs/ar/reference/data-types/int-uint) أو [`Float*`](/docs/ar/reference/data-types/float) أو [`Decimal*`](/docs/ar/reference/data-types/decimal) أو [`Date`](/docs/ar/reference/data-types/date) أو [`DateTime`](/docs/ar/reference/data-types/datetime) أو [`DateTime64`](/docs/ar/reference/data-types/datetime64)

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

تعيد الكمّ المئيني عند المستوى والدقة المحددين. بالنسبة إلى أنواع البيانات الرقمية، يطابق تنسيق الإخراج تنسيق الإدخال. [`(U)Int*`](/docs/ar/reference/data-types/int-uint) أو [`Int128`](/docs/ar/reference/data-types/int-uint) أو [`UInt128`](/docs/ar/reference/data-types/int-uint) أو [`Int256`](/docs/ar/reference/data-types/int-uint) أو [`UInt256`](/docs/ar/reference/data-types/int-uint) أو [`Float*`](/docs/ar/reference/data-types/float) أو [`Decimal*`](/docs/ar/reference/data-types/decimal) أو [`Date`](/docs/ar/reference/data-types/date) أو [`DateTime`](/docs/ar/reference/data-types/datetime) أو [`DateTime64`](/docs/ar/reference/data-types/datetime64)

**أمثلة**

**حساب الكمّ المئيني بمستويات دقة مختلفة**

```sql title=Query theme={null}
SELECT quantileGK(1, 0.25)(number + 1) FROM numbers(1000);
```

```response title=Response theme={null}
┌─quantileGK(1, 0.25)(plus(number, 1))─┐
│                                    1 │
└──────────────────────────────────────┘
```

**كوانتايل بدقة أعلى**

```sql title=Query theme={null}
SELECT quantileGK(100, 0.25)(number + 1) FROM numbers(1000);
```

```response title=Response theme={null}
┌─quantileGK(100, 0.25)(plus(number, 1))─┐
│                                    251 │
└────────────────────────────────────────┘
```

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

* [median](/docs/ar/reference/functions/aggregate-functions/median)
* [quantiles](/docs/ar/reference/functions/aggregate-functions/quantiles)
