sum دالة تجميعية

إرجاع المبلغ المحسوب من قيم مجموعة.

بناء الجملة

sum ( [ALL | DISTINCT] expr ) [FILTER ( WHERE cond ) ]

الوسيطات

  • exprتعبير يقيم إلى عددي أو فاصل زمني.
  • condتعبير منطقي اختياري تصفية الصفوف المستخدمة في التجميع.

المرتجعات

إذا كان expr نوع رقم لا يتجزأ، BIGINT. إذا expr كانت DECIMAL(p, s) النتيجة هي DECIMAL(p + min(10, 31-p), s) . إذا كان expr الفاصل الزمني يطابق نوع النتيجة expr .

خلاف ذلك ، مزدوجة.

إذا DISTINCT تم تحديد القيم الفريدة فقط يتم تلخيصها.

إذا تجاوز الناتج نوع النتيجة Databricks وقت التشغيل يثير خطأ تجاوز سعة.

تحذير

إذا كان spark.sql.ansi.enabled هو تجاوز سعة BIGINT لن يسبب خطأ ولكن “ التفاف ” النتيجة.

أمثلة

> SELECT sum(col) FROM VALUES (5), (10), (15) AS tab(col);
 30

> SELECT sum(col) FILTER(WHERE col <15)
    FROM VALUES (5), (10), (15) AS tab(col);
 15

> SELECT sum(DISTINCT col) FROM VALUES (5), (10), (10), (15) AS tab(col);
 30

> SELECT sum(col) FROM VALUES (NULL), (10), (15) AS tab(col);
 25

> SELECT sum(col) FROM VALUES (NULL), (NULL) AS tab(col);
 NULL