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

quantileDeterministic

طُرحت في: v1.1.0 تحسب quantile تقريبية لتسلسل من البيانات الرقمية. تستخدم هذه الدالة أخذ العينات بالخزان مع خزان يصل حجمه إلى 8192 وخوارزمية أخذ عينات حتمية. النتيجة حتمية. للحصول على quantile دقيقة، استخدم الدالة quantileExact. عند استخدام عدة دوال quantile* بمستويات مختلفة في استعلام، لا تُدمج الحالات الداخلية (أي إن الاستعلام يعمل بكفاءة أقل مما يمكن أن يكون عليه). في هذه الحالة، استخدم الدالة quantiles. البنية
quantileDeterministic(level)(expr, determinator)
الأسماء البديلة: medianDeterministic المعلمات
  • level — اختياري. مستوى الـ quantile. عدد ثابت بفاصلة عائمة من 0 إلى 1. نوصي باستخدام قيمة level ضمن النطاق [0.01, 0.99]. القيمة الافتراضية: 0.5. عند level=0.5 تحسب الدالة الوسيط. Float*
الوسائط
  • expr — تعبير على قيم العمود يُنتج أنواع بيانات رقمية أو Date أو DateTime. (U)Int* أو Float* أو Decimal* أو Date أو DateTime
  • determinator — رقم يُستخدَم الـ hash الخاص به بدلًا من مولّد الأرقام العشوائية في خوارزمية reservoir sampling لجعل نتيجة الـ sampling حتمية. يمكنك استخدام أي رقم موجب حتمي كمحدِّد، مثل معرّف مستخدم أو معرّف حدث. إذا تكررت قيمة المحدِّد نفسها كثيرًا جدًا، فلن تعمل الدالة بشكل صحيح. (U)Int*
القيمة المعادة تعيد قيمة quantile تقريبية بالمستوى المحدد. Float64 أو Date أو DateTime أمثلة حساب quantile حتمية
Query
CREATE TABLE t (val UInt32) ENGINE = Memory;
INSERT INTO t VALUES (1), (1), (2), (3);

SELECT quantileDeterministic(val, 1) FROM t;
Response
┌─quantileDeterministic(val, 1)─┐
│                           1.5 │
└───────────────────────────────┘
راجع أيضًا
آخر تعديل في ٢٩ يونيو ٢٠٢٦