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

quantileTimingWeighted

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

SELECT quantileTimingWeighted(response_time, weight) FROM t;
Response
┌─quantileTimingWeighted(response_time, weight)─┐
│                                           112 │
└───────────────────────────────────────────────┘
آخر تعديل في ٢٥ يونيو ٢٠٢٦