Problembehandlung von GROUP BY-Fehlern

In der folgenden Tabelle wird eine Liste von GROUP BY-Fehlermeldungen und Lösungsvorschlägen bereitgestellt.

Fehlernummer

Fehlermeldung

So beheben Sie den Fehler

102

Falsche Syntax in der Nähe von '.'

Schreiben Sie die Abfrage neu, sodass die Gruppierungssätze in der GROUP BY-Klausel als Teil einer expliziten GROUPING SETS-Liste aufgeführt werden. GROUP BY C1, (C2,…, Cn) löst z. B. diesen Fehler aus. Schreiben Sie die Abfrage als GROUP BY C1, GROUPING SETS( (C2,…, Cn) ) oder GROUP BY C1, C2,…, Cn.

130

Kann keine Aggregatfunktion auf einem Ausdruck ausführen, der ein Aggregat oder eine Unterabfrage enthält.

Schreiben Sie die Abfrage neu, sodass ein Gruppierungsfunktionsaggregat oder eine Unterabfrage nicht als Argument einer anderen Gruppierungsfunktion oder eines Aggregats erscheint.

147

Ein Aggregat erscheint u. U. nur in der WHERE-Klausel, wenn es in einer Unterabfrage in einer HAVING-Klausel oder einer ausgewählten Liste enthalten ist und die aggregierte Spalte ein äußerer Verweis ist.

Entfernen Sie die Gruppierungsfunktion oder das Aggregat aus der WHERE-Klausel.

157

Ein Aggregat wird möglicherweise nicht in der festgelegten Liste einer UPDATE-Anweisung angezeigt.

Entfernen Sie die Gruppierungsfunktion oder das Aggregat aus der festgelegten Liste einer UPDATE-Anweisung.

158

Ein Aggregat wird möglicherweise nicht in der OUTPUT-Klausel angezeigt.

Entfernen Sie die Gruppierungsfunktion oder das Aggregat aus der OUTPUT-Klausel.

162

Ungültiger Ausdruck in der TOP-Klausel.

Entfernen Sie die Gruppierungsfunktion oder das Aggregat aus der TOP-Klausel.

174

Die GROUPING-Funktion erfordert 1 Argument.

Ändern Sie die Argumentliste für die GROUPING ()-Funktion, sodass genau 1 Argument vorhanden ist.

175

Ein Aggregat wird möglicherweise nicht in einem berechneten Spaltenausdruck oder einer CHECK-Einschränkung angezeigt.

Entfernen Sie die Gruppierungsfunktion oder das Aggregat für berechnete Spalten und CHECK-Einschränkungen in der DDL-Anweisung.

189

Die GROUPING_ID-Funktion erfordert 0 bis 32 Argumente.

Reduzieren Sie die Anzahl von Argumenten für die GROUPING_ID ()-Funktion auf 32 oder weniger.

1015

Ein Aggregat erscheint nur in einer ON-Klausel, wenn es in einer Unterabfrage in einer HAVING-Klausel oder einer ausgewählten Liste enthalten ist und die aggregierte Spalte ein äußerer Verweis ist.

Entfernen Sie die Gruppierungsfunktion oder das Aggregat aus der ON-Klausel.

1028

Die Optionen CUBE, ROLLUP und GROUPING SETS werden nicht in einer GROUP BY ALL-Klausel zugelassen.

Schreiben Sie die Abfrage neu, sodass die GROUP BY ALL-Option nicht mit den Schlüsselwörtern GROUPING SETS, CUBE, ROLLUP, WITH CUBE oder WITH ROLLUP angegeben wird.

4101

Aggregate auf der rechten Seite eines APPLY können nicht auf Spalten auf der linken Seite verweisen.

Entfernen Sie die Gruppierungsfunktion oder das Aggregat von der rechten Seite der APPLY-Klausel.

4113

GROUPING | GROUPING_ID ist keine gültige Fenstertechnikfunktion und kann nicht mit der OVER-Klausel verwendet werden.

Schreiben Sie die Abfrage neu, sodass die Funktion GROUPING () oder GROUPING_ID () nicht mit einer OVER-Klausel verwendet wird.

4142

Aggregate werden nicht in der RECEIVE-Liste zugelassen.

Entfernen Sie die Gruppierungsfunktion oder das Aggregat aus der RECEIVE-Liste.

5310

Aggregate werden nicht in der VALUES-Liste einer INSERT-Anweisung zugelassen.

Entfernen Sie die Gruppierungsfunktion oder das Aggregat aus der VALUES-Liste einer INSERT-Anweisung.

8161

Das Argument [n] der [GROUPING | GROUPING_ID]-Funktion stimmt mit keinem der Ausdrücke in der GROUP BY-Klausel überein.

Stellen Sie sicher, dass jedes Argument der GROUPING-Funktion oder der GROUPING_ID-Funktion mit einem Gruppierungselement in der GROUP BY-Klausel übereinstimmt und alle Argumente der GROUPING-Funktion oder GROUPING_ID-Funktion denselben Bereich haben.

Im folgenden Fehler führt der Verweis auf die Tabelle T (aus der Hauptabfrage) in der Unterabfrage zu einem Fehler.

SELECT T.b, SUM(T.x)
FROM T
GROUP BY T.b 
HAVING EXISTS
(SELECT 1
FROM T1
GROUP BY T1.a
HAVING 
GROUPING_ID(T1.a, T.b) = 1
)

8661

Der gruppierte Index <indexname> in der Sicht <viewname> kann nicht erstellt werden, da der Indexschlüssel Spalten enthält, die nicht in der GROUP BY-Klausel enthalten sind. Erwägen Sie, Spalten auszuschließen, die nicht in der GROUP BY-Klausel des Indexschlüssels enthalten sind.

Sie können keine indizierte Sicht erstellen, wenn die Sichtdefinition eine GROUP BY-Klausel enthält, die nur das Element (), Gesamtsumme, umfasst.

10119

Der gruppierte Index <indexname> in der Sicht <viewname> kann nicht erstellt werden, da er einen CUBE-, ROLLUP- oder GROUPING SETS-Operator enthält. Erwägen Sie, diese Sicht nicht zu indizieren.

Eine indizierte Sicht kann nicht erstellt werden, wenn die Sichtdefinition eine allgemeine GROUP BY-Klausel enthält.

10702

Die Optionen WITH CUBE und WITH ROLLUP sind mit einer ROLLUP-, CUBE- oder GROUPING SETS-Spezifikation nicht zulässig.

Schreiben Sie die Abfrage neu, sodass keine Kombination der Nicht-ISO WITH CUBE oder WITH ROLLUP-Schlüsselwörter und der ISO-kompatiblen GROUPING SETS-, CUBE- oder ROLLUP-Schlüsselwörter vorliegt.

10703

Zu viele Gruppierungssätze. Es können maximal 4096 Werte angegeben werden.

Reduzieren Sie die Anzahl der Gruppierungssätze in einer allgemeinen GROUP BY-Klausel auf 4096 oder weniger.

10706

Zu viele Ausdrücke werden in der GROUP BY-Klausel angegeben. Die maximale Anzahl ist 32, wenn Gruppierungssätze angegeben werden.

Reduzieren Sie die unterschiedlichen Gruppierungselemente in einer allgemeinen GROUP BY-Klausel auf 32 oder weniger.

10708

Die CUBE ()- und ROLLUP ()-Gruppierungskonstrukte werden nicht im aktuellen Kompatibilitätsmodus zugelassen. Sie werden nur in Modus 100 oder höher zugelassen.

Sie können keinen CUBE () und ROLLUP () in Kompatibilitätsmodus 90 verwenden. Verwenden Sie die WITH CUBE-, WITH ROLLUP- oder GROUPING SETS-Syntax.