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

> يحسب الكمّ المئيني لتسلسل من البيانات الرقمية باستخدام خوارزمية 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*`](/ar/reference/data-types/int-uint)
* `level` — اختياري. مستوى الكمّ. عدد ثابت بفاصلة عائمة من 0 إلى 1. القيمة الافتراضية: 0.5. عند `level=0.5` تحسب الدالة الوسيط. [`Float*`](/ar/reference/data-types/float)

**الوسائط**

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

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

تعيد الكمّ عند المستوى والدقة المحددين. [`Float64`](/ar/reference/data-types/float) أو [`Date`](/ar/reference/data-types/date) أو [`DateTime`](/ar/reference/data-types/datetime)

**أمثلة**

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

```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](/ar/reference/functions/aggregate-functions/median)
* [quantiles](/ar/reference/functions/aggregate-functions/quantiles)
