So beheben Sie den Fehler 'Spalte ist in der Auswahlliste ungültig, da sie weder in einer Aggregatfunktion noch in der GROUP BY-Klausel enthalten ist'



Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen

Der Fehler ' Die Spalte in der Auswahlliste ist ungültig, da sie weder in einer Aggregatfunktion noch in der GROUP BY-Klausel enthalten ist 'Unten erwähnt entsteht, wenn Sie ausführen' GRUPPIERE NACH Abfrage, und Sie haben mindestens eine Spalte in die Auswahlliste aufgenommen, die weder Teil der group by-Klausel ist noch in einer Aggregatfunktion wie enthalten ist max (), min (), sum (), count () und Durchschnitt () . Damit die Abfrage funktioniert, müssen wir alle nicht aggregierten Spalten zu jeder Gruppe nach Klausel hinzufügen, wenn dies möglich ist und keine Auswirkungen auf die Ergebnisse hat, oder diese Spalten in eine geeignete Aggregatfunktion aufnehmen. Dies funktioniert wie ein Zauber. Der Fehler tritt in MS SQL auf, jedoch nicht in MySQL.



Fehler 'Spalte ist in der Auswahlliste ungültig, da sie weder in einer Aggregatfunktion noch in der GROUP BY-Klausel enthalten ist.'



Zwei Schlüsselwörter “ Gruppiere nach ' und ' Aggregatfunktion ”Wurden in diesem Fehler verwendet. Wir müssen also verstehen, wann und wie man sie benutzt.



Gruppieren nach Klausel:

Wenn ein Analyst die Daten wie Gewinn, Verlust, Umsatz, Kosten und Gehalt usw. mithilfe von SQL zusammenfassen oder aggregieren muss, GRUPPIERE NACH Ist in dieser Hinsicht sehr hilfreich. Zusammenfassend lässt sich sagen, dass die täglichen Verkäufe der Geschäftsleitung angezeigt werden. Wenn Sie die Anzahl der Studenten in einer Abteilung einer Universitätsgruppe zusammen mit der Aggregatfunktion zählen möchten, können Sie dies ebenfalls erreichen.

Gruppieren nach Split-Apply-Combine-Strategie:

Gruppieren nach verwendet die Strategie „Split-Apply-Combine“

  • Die Split-Phase teilt die Gruppen mit ihren Werten.
  • Die Apply-Phase wendet die Aggregatfunktion an und generiert einen einzelnen Wert.
  • Die kombinierte Phase kombiniert alle Werte in der Gruppe als einen einzigen Wert.

Beispiel für eine Strategie „SPLIT_APPLY_COMBINE“



In der obigen Abbildung sehen wir, dass die Spalte basierend auf der ersten Spalte C1 in drei Gruppen aufgeteilt wurde und dann die Aggregatfunktion auf gruppierte Werte angewendet wird. In der letzten Kombinationsphase wird jeder Gruppe ein einzelner Wert zugewiesen.

Dies kann anhand des folgenden Beispiels erklärt werden. Erstellen Sie zunächst eine Datenbank mit dem Namen 'appuals'.

Datenbankerstellung

Beispiel:

Erstellen Sie eine Tabelle “ Mitarbeiter ”Mit dem folgenden Code.

USE [appuals] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO TABELLE ERSTELLEN [dbo]. [Mitarbeiter] ([e_id] [int] NICHT NULL, [e_name] [varchar] (50) NULL, [dep_id] [int] NULL, [Gehalt] [int] NULL, CONSTRAINT [PK_employee] PRIMARY KEY CLUSTERED ([e_id] ASC) MIT (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_L) PRIMARY]) ON [PRIMARY] GO SET ANSI_PADDING OFF GO

Erstellung von Mitarbeitertabellen

Fügen Sie nun Daten mit dem folgenden Code in die Tabelle ein.

In Mitarbeiterwerte (e_id, e_ename, dep_id, Gehalt) einfügen (101, 'Sadia