Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

دوال quantileExact

quantileExact

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

تحسب الكوانتايل لتسلسل بيانات رقمية حسابًا دقيقًا.

للحصول على قيمة دقيقة، تُجمَع جميع القيم المُمرَّرة في مصفوفة، ثم تُرتَّب ترتيبًا جزئيًا. لذلك، تستهلك الدالة ذاكرة بمقدار O(n)، حيث إن n هو عدد القيم المُمرَّرة. ومع ذلك، تكون الدالة فعّالة جدًا عندما يكون عدد القيم صغيرًا.

عند استخدام عدة دوال quantile* بمستويات مختلفة ضمن استعلام، لا تُدمَج الحالات الداخلية (أي إن الاستعلام يعمل بكفاءة أقل مما يمكن أن يكون عليه). في هذه الحالة، استخدم الدالة quantiles.

البنية

quantileExact(level)(expr)

الأسماء البديلة: medianExact

المعاملات

  • level — اختياري. مستوى الكوانتايل. عدد ثابت بنقطة عائمة من 0 إلى 1. نوصي باستخدام قيمة level ضمن النطاق [0.01, 0.99]. القيمة الافتراضية: 0.5. عند level=0.5 تحسب الدالة الوسيط. Float*

الوسيطات

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

الكوانتايل عند المستوى المحدد. بالنسبة إلى أنواع البيانات الرقمية، سيكون تنسيق الإخراج مماثلًا لتنسيق الإدخال. (U)Int* أو Int128 أو UInt128 أو Int256 أو UInt256 أو Float* أو Decimal* أو Date أو DateTime أو DateTime64

أمثلة

حساب الكوانتايل الدقيق

SELECT quantileExact(number) FROM numbers(10);
┌─quantileExact(number)─┐
│                     5 │
└───────────────────────┘

انظر أيضًا

Navigation