الانتقال إلى المحتوى الرئيسي

quantileTiming

أُضيف في: v1.1.0 تحسب هذه الدالة، باستخدام الدقة المحددة، الكوانتايل لتسلسل من البيانات الرقمية. النتيجة حتمية (أي إنها لا تعتمد على ترتيب معالجة الاستعلام). وقد جرى تحسين هذه الدالة للعمل مع التسلسلات التي تصف توزيعات مثل أزمنة تحميل صفحات الويب أو أزمنة استجابة الخدمات الخلفية. عند استخدام عدة دوال quantile* بمستويات مختلفة ضمن استعلام واحد، لا تُدمج الحالات الداخلية (أي إن الاستعلام يعمل بكفاءة أقل مما يمكن أن يعمل به). في هذه الحالة، استخدم الدالة quantiles. الدقة يكون الحساب دقيقًا إذا:
  • لا يتجاوز العدد الإجمالي للقيم 5670.
  • يتجاوز العدد الإجمالي للقيم 5670، لكن زمن تحميل الصفحة أقل من 1024ms.
بخلاف ذلك، تُقرَّب نتيجة الحساب إلى أقرب مضاعف لـ 16 ms.
عند حساب كوانتايلات زمن تحميل الصفحة، تكون هذه الدالة أكثر كفاءة ودقة من quantile.
إذا لم تُمرَّر أي قيم إلى الدالة (عند استخدام quantileTimingIf)، فستُعاد NaN. والغرض من ذلك هو التمييز بين هذه الحالات والحالات التي تكون نتيجتها صفرًا. راجع عبارة ORDER BY للاطلاع على ملاحظات حول فرز قيم NaN.
الصياغة
quantileTiming(level)(expr)
الأسماء البديلة: medianTiming المعلمات
  • level — اختياري. مستوى الكوانتايل. عدد ثابت ذو فاصلة عائمة من 0 إلى 1. نوصي باستخدام قيمة level ضمن النطاق [0.01, 0.99]. القيمة الافتراضية: 0.5. عند level=0.5 تحسب الدالة الوسيط. Float*
الوسائط
  • expr — تعبير على قيم عمود يُرجع عددًا من النوع Float*. إذا مُرِّرت قيم سالبة إلى الدالة، يكون السلوك غير معرّف. وإذا كانت القيمة أكبر من 30,000 (زمن تحميل صفحة يزيد على 30 ثانية)، فيُفترض أنها 30,000. Float*
القيمة المعادة كوانتايل المستوى المحدد. إذا لم تُمرَّر أي قيم إلى الدالة (عند استخدام quantileTimingIf)، فستُعاد القيمة NaN. والغرض من ذلك هو التمييز بين هذه الحالات والحالات التي تكون نتيجتها صفرًا. Float32 أمثلة حساب كوانتايل التوقيت
Query
CREATE TABLE t (response_time UInt32) ENGINE = Memory;
INSERT INTO t VALUES (72), (112), (126), (145), (104), (242), (313), (168), (108);

SELECT quantileTiming(response_time) FROM t;
Response
┌─quantileTiming(response_time)─┐
│                           126 │
└───────────────────────────────┘
انظر أيضًا
آخر تعديل في ٢٥ يونيو ٢٠٢٦