قُدِّمت في: v20.1.0
تحسب المجموع المتحرك لقيم الإدخال.
يمكن أن تأخذ الدالة حجم النافذة كمعامل. وإذا لم يُحدَّد، فستستخدم الدالة حجم نافذة يساوي عدد الصفوف في العمود.
الصيغة
groupArrayMovingSum(numbers_for_summing)
groupArrayMovingSum(window_size)(numbers_for_summing)
المعلمات
window_size — حجم نافذة الحساب. إذا لم يتم تحديده، فستأخذ الدالة حجم نافذة يساوي عدد الصفوف في العمود. UInt64
الوسائط
القيمة المُعادة
تعيد مصفوفة بنفس حجم ونوع بيانات الإدخال. Array
أمثلة
مثال على الاستخدام
CREATE TABLE t
(
`int` UInt8,
`float` Float32,
`dec` Decimal32(2)
)
ENGINE = Memory;
INSERT INTO t VALUES (1, 1.1, 1.10), (2, 2.2, 2.20), (4, 4.4, 4.40), (7, 7.77, 7.77);
SELECT
groupArrayMovingSum(int) AS I,
groupArrayMovingSum(float) AS F,
groupArrayMovingSum(dec) AS D
FROM t;
┌─I──────────┬─F───────────────────────────────┬─D──────────────────────┐
│ [1,3,7,14] │ [1.1,3.3000002,7.7000003,15.47] │ [1.10,3.30,7.70,15.47] │
└────────────┴─────────────────────────────────┴────────────────────────┘
مع حجم النافذة
SELECT
groupArrayMovingSum(2)(int) AS I,
groupArrayMovingSum(2)(float) AS F,
groupArrayMovingSum(2)(dec) AS D
FROM t;
┌─I──────────┬─F───────────────────────────────┬─D──────────────────────┐
│ [1,3,6,11] │ [1.1,3.3000002,6.6000004,12.17] │ [1.10,3.30,6.60,12.17] │
└────────────┴─────────────────────────────────┴────────────────────────┘
آخر تعديل في ٢٥ يونيو ٢٠٢٦