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*
الوسيطات
expr— تعبير على قيم العمود ينتج عنه أنواع بيانات رقمية أوDateأوDateTimeأوDateTime64.(U)Int*أوInt128أوUInt128أوInt256أوUInt256أوFloat*أوDecimal*أوDateأوDateTimeأوDateTime64
القيمة المعادة
الكوانتايل عند المستوى المحدد. بالنسبة إلى أنواع البيانات الرقمية، سيكون تنسيق الإخراج مماثلًا لتنسيق الإدخال. (U)Int* أو Int128 أو UInt128 أو Int256 أو UInt256 أو Float* أو Decimal* أو Date أو DateTime أو DateTime64
أمثلة
حساب الكوانتايل الدقيق
SELECT quantileExact(number) FROM numbers(10);┌─quantileExact(number)─┐
│ 5 │
└───────────────────────┘انظر أيضًا