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