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

groupArrayMovingAvg

قُدِّمت في: v20.1.0 تحسب المتوسط المتحرك لقيم الإدخال.
تستخدم الدالة التقريب باتجاه الصفر. وتقتطع المنازل العشرية غير المهمة بالنسبة إلى نوع البيانات الناتج.
الصياغة
groupArrayMovingAvg(numbers_for_summing)
groupArrayMovingAvg(window_size)(numbers_for_summing)
المعلمات
  • window_size — حجم نافذة الحساب. إذا لم يتم تحديده، فستأخذ الدالة حجم نافذة مساويًا لعدد الصفوف في العمود. UInt64
الوسيطات
  • numbers_for_summing — تعبير يُنتج قيمة من نوع بيانات رقمي. (U)Int* أو Float* أو Decimal
القيمة المُعادة تُرجع مصفوفة بالحجم نفسه لبيانات الإدخال. إذا لم يكن الإدخال من النوع Decimal، فستحتوي المصفوفة على قيم Float64. أما إذا كان الإدخال من النوع Decimal، فستحتوي المصفوفة على قيم Decimal بمقياس الإدخال. Array أمثلة مثال على الاستخدام
Query
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
    groupArrayMovingAvg(int) AS I,
    groupArrayMovingAvg(float) AS F,
    groupArrayMovingAvg(dec) AS D
FROM t;
Response
┌─I────────────────────┬─F─────────────────────────────────────────────────────────────────────────────┬─D─────────────────────┐
│ [0.25,0.75,1.75,3.5] │ [0.2750000059604645,0.8250000178813934,1.9250000417232513,3.8675000369548798] │ [0.27,0.82,1.92,3.86] │
└──────────────────────┴───────────────────────────────────────────────────────────────────────────────┴───────────────────────┘
مع تحديد حجم النافذة
Query
SELECT
    groupArrayMovingAvg(2)(int) AS I,
    groupArrayMovingAvg(2)(float) AS F,
    groupArrayMovingAvg(2)(dec) AS D
FROM t;
Response
┌─I───────────────┬─F───────────────────────────────────────────────────────────────────────────┬─D─────────────────────┐
│ [0.5,1.5,3,5.5] │ [0.550000011920929,1.6500000357627869,3.3000000715255737,6.085000038146973] │ [0.55,1.65,3.30,6.08] │
└─────────────────┴─────────────────────────────────────────────────────────────────────────────┴───────────────────────┘
آخر تعديل في ٢٥ يونيو ٢٠٢٦