Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

دوال quantiles

quantiles

ظهرت في: v1.1.0

تحسب عدة quantiles تقريبية لتسلسل بيانات رقمية عند مستويات مختلفة في الوقت نفسه.

تستخدم هذه الدالة أخذ العينات بالخزان بحجم خزان يصل إلى 8192، مع مولّد أرقام عشوائية لأخذ العينات. النتيجة غير حتمية.

يكون استخدام quantiles أكثر كفاءة من استدعاء عدة دوال quantile منفصلة عندما تحتاج إلى عدة قيم quantiles، إذ تُحسب جميع quantiles في مرور واحد على البيانات.

الصيغة

quantiles(level1, level2, ...)(expr)

المعاملات

  • level — مستويات quantiles. عدد ثابت واحد أو أكثر من الأعداد ذات الفاصلة العائمة من 0 إلى 1. نوصي باستخدام قيم level ضمن النطاق [0.01, 0.99]. Float*

الوسيطات

القيمة المُعادة

مصفوفة من quantiles التقريبية للمستويات المحددة، وبالترتيب نفسه الذي حُدِّدت به هذه المستويات. تُنتِج الوسيطات الرقمية Float64، بينما تحتفظ وسيطات Decimal وDate وDateTime وDateTime64 بتنسيق الإدخال الخاص بها. Array(Float64) أو Array(Decimal*) أو Array(Date) أو Array(DateTime) أو Array(DateTime64)

أمثلة

حساب عدة quantiles بكفاءة

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;
┌─quantiles(0.25, 0.5, 0.75, 0.9)(val)─┐
│ [2.5,5,7.5,9]                        │
└──────────────────────────────────────┘
Navigation