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

quantiles

ظهرت في: v1.1.0 تحسب عدة quantiles تقريبية لتسلسل بيانات رقمية عند مستويات مختلفة في الوقت نفسه. تستخدم هذه الدالة أخذ العينات بالخزان بحجم خزان يصل إلى 8192، مع مولّد أرقام عشوائية لأخذ العينات. النتيجة غير حتمية. يكون استخدام quantiles أكثر كفاءة من استدعاء عدة دوال quantile منفصلة عندما تحتاج إلى عدة قيم quantiles، إذ تُحسب جميع quantiles في مرور واحد على البيانات. الصيغة
quantiles(level1, level2, ...)(expr)
المعاملات
  • level — مستويات quantiles. عدد ثابت واحد أو أكثر من الأعداد ذات الفاصلة العائمة من 0 إلى 1. نوصي باستخدام قيم level ضمن النطاق [0.01, 0.99]. Float*
الوسيطات
  • expr — تعبير على قيم العمود ينتج عنه أنواع بيانات رقمية، أو Date أو DateTime. (U)Int* أو Float* أو Decimal* أو Date أو DateTime
القيمة المُعادة مصفوفة من quantiles التقريبية للمستويات المحددة، وبالترتيب نفسه الذي حُدِّدت به هذه المستويات. Array(Float64) أو Array(Date) أو Array(DateTime) أمثلة حساب عدة quantiles بكفاءة
Query
CREATE TABLE t (val UInt32) ENGINE = Memory;
INSERT INTO t VALUES (1), (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);

SELECT quantiles(0.25, 0.5, 0.75, 0.9)(val) FROM t;
Response
┌─quantiles(0.25, 0.5, 0.75, 0.9)(val)─┐
│ [3, 5.5, 8, 9.5]                     │
└──────────────────────────────────────┘
آخر تعديل في ٢٥ يونيو ٢٠٢٦