quantilesExactHigh
أُضيف في: v20.8.0
يحسب بدقة عدة كوانتايلات لتسلسل من البيانات الرقمية عند مستويات مختلفة في الوقت نفسه. وإذا كان عدد العناصر زوجيًا عند المستوى 0.5، فإنه يعيد القيمة الأكبر من القيمتين الواقعتين في الوسط.
تكافئ هذه الدالة quantileExactHigh، لكنها تتيح حساب عدة مستويات للكوانتايل في مرور واحد، ما يجعلها أكثر كفاءة من استدعاء دوال الكوانتايل الفردية.
الصيغة
quantilesExactHigh(level1, level2, ...)(expr)المعلمات
level— مستويات الكوانتايل. رقم ثابت واحد أو أكثر من الأعداد ذات الفاصلة العائمة من 0 إلى 1. نوصي باستخدام قيمlevelضمن النطاق[0.01, 0.99].Float*
الوسائط
expr— تعبير على قيم العمود ينتج أنواع بيانات رقمية أوDateأوDateTimeأوDateTime64.(U)Int*أوFloat*أوDecimal*أوDateأوDateTimeأوDateTime64
القيمة المعادة
مصفوفة من الكوانتايلات للمستويات المحددة، وبالترتيب نفسه الذي حُدِّدت به هذه المستويات. بالنسبة إلى أنواع البيانات الرقمية، تتطابق صيغة الإخراج مع صيغة الإدخال. Array((U)Int*) أو Array(Float*) أو Array(Decimal*) أو Array(Date) أو Array(DateTime) أو Array(DateTime64)
أمثلة
حساب عدة كوانتايلات عليا دقيقة
SELECT quantilesExactHigh(0.25, 0.5, 0.75)(number) FROM numbers(10)┌─quantilesExactHigh(0.25, 0.5, 0.75)(number)─┐
│ [2,5,7] │
└─────────────────────────────────────────────┘