Freigeben über


width_bucket-Funktion

Gilt für:durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

Gibt die Bucketnummer für einen Wert in einem Histogramm mit gleicher Breite zurück.

Syntax

width_bucket(expr, minExpr, maxExpr, numBuckets)

Argumente

  • expr: Ein numerischer oder Intervallausdruck, für den ein Bucket verwendet werden soll.
  • minExpr: Ein numerischer oder Intervallausdruck, der eine Untergrenze für die Buckets angibt.
  • maxExpr: Ein numerischer oder Intervallausdruck, der eine Obergrenze für die Buckets angibt.
  • numBuckets: Ein INTEGER-Ausdruck, der größer als 0 ist und die Anzahl der Buckets angibt.

Falls expr numerisch ist, müssen minExpr und maxExpr ebenso numerisch sein.

Falls expr ein Intervall ist, müssen minExpr und maxExpr denselben Intervalltyp aufweisen.

Intervall wird abDatabricks Runtime 10.1 unterstützt

Gibt zurück

Ein INTEGER-Wert

Die Funktion teilt den Bereich zwischen minExpr und maxExpr in numBuckets Slices gleicher Größe auf. Das Ergebnis ist der Slice, in den expr fällt.

Wenn expr außerhalb von minExpr liegt, ist das Ergebnis 0.

Wenn expr außerhalb von maxExpr liegt, ist das Ergebnis numbuckets + 1.

minExpr kann größer als maxExpr sein.

Beispiele

> SELECT width_bucket(5.3, 0.2, 10.6, 5);
 3
> SELECT width_bucket(-2.1, 1.3, 3.4, 3);
 0
> SELECT width_bucket(8.1, 0.0, 5.7, 4);
 5
> SELECT width_bucket(-0.9, 5.2, 0.5, 2);
 3

> SELECT width_bucket(INTERVAL '1' DAY, INTERVAL '0' DAY, INTERVAL '10' DAY, 11);
2