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

quantileExactWeighted

أُضيف في: v1.1.0 يحسب كَمّ لتسلسل بيانات رقمية بدقة، مع مراعاة وزن كل عنصر. للحصول على القيمة الدقيقة، تُجمَع جميع القيم المُمرَّرة في مصفوفة، ثم تُرتَّب جزئيًا. وتُحتسَب كل قيمة بحسب وزنها، كما لو كانت موجودة weight مرة. تُستخدَم خوارزمية تعتمد على جدول تجزئة. ولذلك، إذا كانت القيم المُمرَّرة تتكرر كثيرًا، فإن هذه الدالة تستهلك RAM أقل من quantileExact. يمكنك استخدام هذه الدالة بدلًا من quantileExact وتحديد الوزن على أنه 1. عند استخدام عدة دوال quantile* بمستويات مختلفة في استعلام واحد، لا تُدمَج الحالات الداخلية (أي إن الاستعلام يعمل بكفاءة أقل مما يمكن أن يكون عليه). في هذه الحالة، استخدم الدالة quantiles. الصياغة
quantileExactWeighted(level)(expr, weight)
الأسماء البديلة: medianExactWeighted المعلمات
  • level — اختياري. مستوى الكَمّ. عدد ثابت عشري من 0 إلى 1. نوصي باستخدام قيمة level ضمن النطاق [0.01, 0.99]. القيمة الافتراضية: 0.5. عند level=0.5 تحسب الدالة الوسيط. Float*
الوسائط
  • expr — تعبير على قيم العمود ينتج أنواع بيانات رقمية أو Date أو DateTime. (U)Int* أو Float* أو Decimal* أو Date أو DateTime
  • weight — عمود يحتوي على أوزان عناصر التسلسل. والوزن هو عدد مرات تكرار القيمة. UInt*
القيمة المُعادة الكَمّ عند المستوى المحدد. Float64 أو Date أو DateTime أمثلة حساب الكَمّ الموزون الدقيق
Query
CREATE TABLE t (
    n Int32,
    val Int32
) ENGINE = Memory;

-- Insert the sample data
INSERT INTO t VALUES
(0, 3),
(1, 2),
(2, 1),
(5, 4);

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