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

> تعمل quantilesGK بطريقة مشابهة لـ quantileGK، لكنها تتيح حساب الكوانتايل عند مستويات مختلفة في الوقت نفسه وتُرجع مصفوفة.

# quantilesGK

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

قُدِّمت في: v23.4.0

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

تعمل هذه الدالة بطريقة مشابهة لـ [`quantileGK`](/ar/reference/functions/aggregate-functions/quantileGK)، لكنها تتيح حساب عدة مستويات للكمّيات في تمريرة واحدة، ما يجعلها أكثر كفاءة من استدعاء دوال الكمّيات الفردية.

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

**البنية**

```sql theme={null}
quantilesGK(accuracy, level1, level2, ...)(expr)
```

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

* `accuracy` — دقة الكوانتايلات. عدد صحيح موجب ثابت. كلما زادت قيمة الدقة، قلّ الخطأ. على سبيل المثال، إذا ضُبطت وسيطة الدقة على 100، فسيكون خطأ الكوانتايلات المحسوبة لا يتجاوز 1% باحتمال عالٍ. هناك مفاضلة بين دقة الكوانتايلات المحسوبة والتعقيد الحسابي للخوارزمية. [`UInt*`](/ar/reference/data-types/int-uint)
* `level` — مستويات الكوانتايل. عدد واحد أو أكثر من الأعداد الثابتة ذات الفاصلة العائمة من 0 إلى 1. [`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)

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

مصفوفة من الكوانتايلات للمستويات المحددة، وبالترتيب نفسه الذي حُددت به هذه المستويات. [`Array(Float64)`](/ar/reference/data-types/array) أو [`Array(Date)`](/ar/reference/data-types/array) أو [`Array(DateTime)`](/ar/reference/data-types/array)

**أمثلة**

**حساب عدة كوانتايلات باستخدام خوارزمية GK**

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

```response title=Response theme={null}
┌─quantilesGK(1, 0.25, 0.5, 0.75)(plus(number, 1))─┐
│ [1, 1, 1]                                        │
└──────────────────────────────────────────────────┘
```

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

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

```response title=Response theme={null}
┌─quantilesGK(100, 0.25, 0.5, 0.75)(plus(number, 1))─┐
│ [251, 498, 741]                                    │
└────────────────────────────────────────────────────┘
```
