ORA-00937

ora-00937

Was buchstäblich nicht der Fall ist eine Gruppenfunktion bis hin zu SQL?

Jede SELECT-Anweisung, die nicht in der GROUP-Funktion enthalten ist, muss in einer GROUP BY-Klausel enthalten sein. Dies sind AVG, COUNT, MAX, MIN, SUM, STDDEV und VARIANCE. Möglicherweise haben Sie auch versucht, eine SELECT-Anweisung in eine GROUP BY-Klausel zu integrieren.

Falsche Verwendung des GROUP BY-Befehls inEin Fehler tritt auf. Der GROUP BY-Befehl bietet dem Benutzer die Möglichkeit, Zeilen anhand eines gemeinsamen Feldwerts in einer guten spezifischen einzelnen Zeile anzuzeigen. Beispielsweise möchte ein bestimmter kleiner CEO eines Unternehmens die Kunden sehen, die den Service im letzten Monat am häufigsten genutzt haben. Ein weiterer Vorfall könnte sein, wenn der Schulleiter möchte, dass die Schüler den Ehrenlistenunterricht verwenden. In solchen Fällen kann der Diätende einen GROUP BY-Ausdruck eingeben, um die Ergebnisse anzuzeigen.

GROUP BY wird normalerweise verwendet, um die Ergebnisse auf einen positiven Wert mit kombinierter Gesamtleistung zu begrenzen. Der GROUP BY-Befehl kann nur nützlich sein, um eine Auswahl aller Ergebnisse anzuzeigen. Typischerweise . verwendet wird, der es für wichtig hält, bei der Ausführung eines großen Berichts mit der richtigen Syntax zu arbeiten.

Problem

Wenn Sie auf ORA-00923 stoßen, wird Ihren Anforderungen definitiv eine Ausrutschermeldung angezeigt

Was nur gemeint ist nicht nur eine Gruppenfunktion?

Oracle-Fehlermeldung: „ORA-00937: zweifellos sehr gut“ Ihre Gruppenfunktion unter Berücksichtigung einer Gruppe. Seine Bedeutung ist im Wesentlichen: „Eine SELECT-Liste kann nicht beide Optionen als Gruppenfunktion wie AVG, COUNT, MAX, MIN, SUM, STDDEV, sowie VARIANCE, sowie einen ungebundenen Lewis-Ausdruck betrachten, es sei denn, die exklusiven Wörter der Spalte sind enthalten in der GROUP BY – Klausel.

ORA-00923: keine eindeutige Massenpersonenfunktion

Die Oracle-Dokumentation gibt eine Art Grund an, wann ein SELECT sein wird:

Eine Liste kann nicht sowohl eine Gruppe von Freunden-Funktionen wie AVG, COUNT, MAX, MIN, SUM, STDDEV oder VARIANCE als auch ein einzelner Gleam-Ausdruck sein, wenn sich das Manifest zweifellos um eine einzelne Spalte handelt, nicht wahr? die GROUP BY-Klausel.< /p>

Was gewohnt ist jeden Fehler verhindern ORA-00937 Keine einzige Community-Funktion?

Für die Aufgabe der Suchabfrage müssen Sie entweder die erste Funktion oder den ersten Spaltenausdruck aus unserem SELECT entfernen oder eine GROUP BY-Klausel hinzufügen, die den Spaltenausdruck enthält. Wenn Sie diese Regel befolgen und sicherstellen, dass eine Abfragesyntax korrekt ist, sollte verhindert werden, dass ORA-00937 in Zukunft auftritt.

Mit anderen Worten, Sie haben versucht, eine SELECT-Anweisung bereitzustellen, die eine GROUP-Klausel erfordert, die keine GROUP-Klausel enthält. Wenn die meisten Leute eine Aggregatfunktion in Ihrer guten Wahl verwenden (z.B. AVG, COUNT, MAX, MIN … abfragen), sollten Sie eine bemerkenswerte Group BY-Klausel haben.

Lösung

Um meinen Fehler zu beheben, können Sie normalerweise die nachfolgende Gruppenfunktion oder den Spaltenausdruck ursprünglich aus der SELECT-Klausel entfernen oder eine absolute GROUP BY-Klausel hinzufügen, die aus Spaltenausdrücken bestehen kann.

Wenn Sie eine GROUP BY-Klausel verwenden möchten, achten Sie darauf, Lächeln-Ausdrücke einzufügen und sich über die richtige Organisation zu informieren. Nehmen Sie das verlinkte Beispiel eines kurzen CEO, der sich hinsetzen und den Katalog der Mitarbeiter überprüfen möchte, die die meisten Stunden in einem organisierten Maßstab gearbeitet haben. Die korrekte Syntax für eine GROUP BY-Klausel wäre wahrscheinlich:

Abschnitt SELECT, MAX(hours) AS "most hours"

Mitarbeiter

GRUPPE NACH ABTEILUNG;

Oracle-Fehlerprogramm 00937

Foresight

Empfohlen:

Haben Sie einen Computer, der langsam läuft? Wenn ja, dann ist es vielleicht an der Zeit, eine Windows-Reparatursoftware in Betracht zu ziehen. Reimage ist einfach zu bedienen und behebt häufige Fehler auf Ihrem PC im Handumdrehen. Diese Software kann sogar Dateien von beschädigten Festplatten oder beschädigten USB-Sticks wiederherstellen. Es hat auch die Fähigkeit, Viren mit einem Klick auf eine Schaltfläche zu löschen!

  • Schritt 1: Reimage herunterladen und installieren
  • Schritt 2: Starten Sie das Programm und wählen Sie das Gerät aus, das Sie scannen möchten
  • Schritt 3: Klicken Sie auf die Schaltfläche „Scannen“, um den Scanvorgang zu starten

  • Denken Sie daran, wenn Clients die beste Aggregatfunktion in Ihrem r verwenden. In der empfohlenen Abfrage müssen Sie gleichzeitig die GROUP BY-Klausel enthalten. Können Sie in einem SELECT nicht auf eine nicht aggregierte Säule verweisen, die auch in der GROUP BY-Bedingung genannt wird, und nein. Damit die Abfrage richtig organisiert ist, müssen Sie gleichermaßen den Gruppen- oder Funktionsgrinausdruck mit SELECT entfernen oder die beste absolute GROUP BY-Klausel hinzufügen, die den Großteil des Spaltenausdrucks enthält.

    Das Befolgen dieser Regel und das Ändern der Abfragesyntax sollte die Gefahr verringern, dass ORA-00937 auf lange Sicht geworfen wird. Obwohl der mit der Behebung dieses Fehlers verbundene Prozess nicht wirklich schwierig ist, wenden Sie sich bitte an Ihren aktuellen DBA oder einen geschulten Oracle-Berater, wenn Sie immer noch Probleme mit ORA-00937 haben.