Hogyan lehet kijavítani a hibát? Az oszlop érvénytelen a kiválasztási listában, mert nem szerepel sem az összesített függvényben, sem a GROUP BY záradékban.



Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére

A hiba ' Az oszlop érvénytelen a kiválasztási listában, mert nem szerepel sem összesítő függvényben, sem pedig a GROUP BY záradékban ”Az alábbiakban felmerül, amikor végrehajtja a CSOPORTOSÍT ”Lekérdezést, és legalább egy oszlopot felvett a kiválasztási listába, amely nem része a tagoknak a csoportban, és nem szerepel olyan összesítő függvényben, mint például max (), min (), összeg (), count () és átlag () . Tehát ahhoz, hogy a lekérdezés működőképessé váljon, az összes nem összesített oszlopot fel kell tennünk bármelyik csoportba záradék alapján, ha ez megvalósítható, és nincs hatással az eredményekre, vagy ezeket az oszlopokat egy megfelelő összesítő függvénybe kell foglalni, és ez varázslatként fog működni. A hiba az MS SQL-ben merül fel, a MySQL-ben nem.



Hiba: „Az oszlop érvénytelen a kiválasztási listában, mert sem az összesített függvény, sem a GROUP BY záradék nem tartalmazza”



Két kulcsszó Csoportosít ”És„ összesített függvény ”Hibákat használtuk. Tehát meg kell értenünk, hogy mikor és hogyan kell használni őket.



Csoportosítás záradék szerint:

Amikor egy elemzőnek összefoglalnia vagy összesítenie kell az adatokat, például nyereséget, veszteséget, értékesítést, költséget és fizetést stb. SQL használatával, CSOPORTOSÍT ”Nagyon hasznos ebben a tekintetben. Összefoglalva például a napi értékesítés a felső vezetés számára. Hasonlóképpen, ha meg akarja számolni egy egyetemi csoport tanszékének hallgatóinak számát az összesített funkcióval együtt, akkor ez segít elérni ezt.

Csoportosítás Split-Apply-Combine stratégia szerint:

A csoportosítás „split-Apply-Combine” stratégia szerint történik

  • Az osztott fázis felosztja a csoportokat értékeikkel.
  • Az alkalmazási szakasz az összesített függvényt alkalmazza, és egyetlen értéket generál.
  • Az egyesített fázis egyetlen értékként egyesíti a csoport összes értékét.

„SPLIT_APPLY_COMBINE” stratégia minta



A fenti ábrán láthatjuk, hogy az oszlopot három csoportra osztották az első C1 oszlop alapján, majd az összesített függvényt alkalmazzák a csoportosított értékekre. Végül a kombinációs fázis egyetlen értéket rendel minden csoporthoz.

Ez az alábbi példával magyarázható. Először hozzon létre egy „appuals” nevű adatbázist.

Adatbázis létrehozása

Példa:

Táblázat létrehozása “ munkavállaló ”A következő kódot használva.

[Appuals] HASZNÁLJA ANSI_NULLS BEÁLLÍTÁSÁT GOT SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo]. [Alkalmazott] ([e_id] [int] NOT NULL, [e_ename] [varchar] (50) NULL, [dep_id] [int] NULL, [fizetés] [int] NULL, KORLÁTOZÁS [PK_alkalmazott] ELSŐDLEGES KULCS TÖRTÉNT ([e_id] ASC) WITH (PAD_INDEX = KI, STATISTICS_NORECOMPUTE = KI, IGNORE_DUP_KEY = KI, ALLOW_ROW_LOCKS = BE] PRIMARY]) ON [PRIMARY] GO BEÁLLÍTÁS ANSI_PADDING OFF GO

Alkalmazotti táblázat létrehozása

Helyezze be az adatokat a táblázatba a következő kód használatával.

Helyezze be az alkalmazott (e_id, e_neve, dep_id, fizetés) értékeket (101, 'Sadia