Die Fensterfunktion COUNT - AWS Clean Rooms

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die Fensterfunktion COUNT

Die Fensterfunktion COUNT zählt die durch den Ausdruck definierten Zeilen.

Die Funktion COUNT hat zwei Varianten. COUNT(*) zählt alle Zeilen in der Zieltabelle, unabhängig davon, ob sie Null-Werte enthalten oder nicht. COUNT(expression) berechnet die Zahl der Zeilen mit Nicht-NULL-Werten in einer spezifischen Spalte oder einem spezifischen Ausdruck.

Syntax

COUNT ( * | [ ALL ] expression) OVER ( [ PARTITION BY expr_list ] [ ORDER BY order_list frame_clause ] )

Argumente

Ausdruck

Die Zielspalte oder der Ausdruck, für die/den die Funktion ausgeführt wird.

ALL

Mit dem Argument ALL behält die Funktion alle duplizierten Werte aus dem angegebenen Ausdruck, um die Zählung auszuführen. ALL ist das Standardargument. DISTINCT wird nicht unterstützt.

OVER

Gibt die Fensterklauseln für die Aggregationsfunktionen an. Die OVER-Klausel unterscheidet Fensteraggregationsfunktionen von normalen Satzaggregationsfunktionen.

PARTITION BY expr_list

Definiert das Fenster für die COUNT-Funktion in Bezug auf mindestens einen Ausdruck.

ORDER BY order_list

Sortiert die Zeilen innerhalb der einzelnen Partitionen. Wenn PARTITION BY nicht angegeben ist, verwendet ORDER BY die gesamte Tabelle.

frame_clause

Wenn eine ORDER BY-Klausel für eine Aggregationsfunktion verwendet wird, ist eine explizite Rahmenklausel erforderlich. Die Rahmenklausel gibt den Satz von Zeilen im Fenster einer Funktion genauer an, einschließlich oder ausschließlich Sätzen von Zeilen innerhalb des geordneten Ergebnisses. Die Rahmenklausel besteht aus dem Schlüsselwort ROWS und verknüpften Spezifikatoren. Siehe Übersicht über die Syntax von Fensterfunktionen.

Datentypen

Die Funktion COUNT unterstützt alle Argumentdatentypen.

Der von der Funktion COUNT unterstützte Rückgabetyp ist BIGINT.

Beispiele

Das folgende Beispiel zeigt die Verkaufs-ID, die Menge und die Zahl aller Zeilen ab dem Beginn des Datenfensters:

select salesid, qty, count(*) over (order by salesid rows unbounded preceding) as count from winsales order by salesid; salesid | qty | count ---------+-----+----- 10001 | 10 | 1 10005 | 30 | 2 10006 | 10 | 3 20001 | 20 | 4 20002 | 20 | 5 30001 | 10 | 6 30003 | 15 | 7 30004 | 20 | 8 30007 | 30 | 9 40001 | 40 | 10 40005 | 10 | 11 (11 rows)

Eine Beschreibung der Tabelle WINSALES finden Sie unter Beispieltabelle mit Beispielen von Fensterfunktionen.

Das folgende Beispiel zeigt die Verkaufs-ID, die Menge und die Zahl der Nicht-Null-Zeilen ab dem Beginn des Datenfensters an. (In der Tabelle WINSALES enthält die Spalte QTY_SHIPPED einige NULL-Werte.)

select salesid, qty, qty_shipped, count(qty_shipped) over (order by salesid rows unbounded preceding) as count from winsales order by salesid; salesid | qty | qty_shipped | count ---------+-----+-------------+------- 10001 | 10 | 10 | 1 10005 | 30 | | 1 10006 | 10 | | 1 20001 | 20 | 20 | 2 20002 | 20 | 20 | 3 30001 | 10 | 10 | 4 30003 | 15 | | 4 30004 | 20 | | 4 30007 | 30 | | 4 40001 | 40 | | 4 40005 | 10 | 10 | 5 (11 rows)