Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

quantileTDigest

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 │
└─────────────────────────┘

راجع أيضًا

Navigation