quantileTDigest
أُضيفت في: v1.1.0
تحسب قيمة quantile تقريبية لتسلسل من البيانات الرقمية باستخدام خوارزمية t-digest.
يكون استهلاك الذاكرة log(n)، حيث إن n هو عدد القيم. وتعتمد النتيجة على ترتيب تنفيذ الاستعلام، لذا فهي غير حتمية.
أداء هذه الدالة أقل من أداء quantile أو quantileTiming. ومن حيث نسبة حجم الحالة إلى الدقة، فهذه الدالة أفضل بكثير من quantile.
عند استخدام عدة دوال quantile* بمستويات مختلفة في استعلام واحد، لا تُدمج الحالات الداخلية (أي إن الاستعلام يعمل بكفاءة أقل مما يمكن أن يعمل به). في هذه الحالة، استخدم الدالة quantiles.
الصيغة
quantileTDigest(level)(expr)الأسماء البديلة: medianTDigest
المعلمات
level— اختياري. مستوى quantile. عدد ثابت من نوع الفاصلة العائمة من 0 إلى 1. نوصي باستخدام قيمةlevelضمن النطاق[0.01, 0.99]. القيمة الافتراضية: 0.5. عندlevel=0.5تحسب الدالة الوسيط.Float*
الوسيطات
expr— تعبير على قيم العمود يُنتج أنواع بيانات رقمية أوDateأوDateTime.(U)Int*أوFloat*أوDateأوDateTime
القيمة المعادة
quantile التقريبي للمستوى المحدد. بالنسبة إلى مُدخلات Date وDateTime، يطابق تنسيق الإخراج تنسيق الإدخال. Float32 أو Date أو DateTime
أمثلة
حساب quantile باستخدام t-digest
SELECT quantileTDigest(number) FROM numbers(10);┌─quantileTDigest(number)─┐
│ 4 │
└─────────────────────────┘راجع أيضًا