Kā novērst kļūdu Kolonna atlases sarakstā nav derīga, jo tā nav ietverta ne apkopojuma funkcijā, ne klauzulā GROUP BY



Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai

Kļūda “ Kolonna atlases sarakstā nav derīga, jo tā nav iekļauta ne apkopojuma funkcijā, ne klauzulā GROUP BY ”, Kas minēts zemāk, rodas, kad izpildāt“ GRUPA PĒC ”Vaicājumu, un atlasītajā sarakstā esat iekļāvis vismaz vienu kolonnu, kas neietilpst grupā pēc klauzulas, kā arī nav iekļauta apkopošanas funkcijā, piemēram max (), min (), summa (), skaits () un vid. () . Tāpēc, lai vaicājums darbotos, mums ir jāpievieno visas neapkopotās kolonnas katrai grupai pēc klauzulas, ja tas ir iespējams un tas neietekmē rezultātus, vai jāiekļauj šīs kolonnas piemērotā apkopošanas funkcijā, un tas darbosies kā šarms. Kļūda rodas MS SQL, bet ne MySQL.



Kļūda “Kolonna atlases sarakstā nav derīga, jo tā nav iekļauta ne apkopojuma funkcijā, ne klauzulā GROUP BY”



Divi atslēgvārdi “ Grupēt pēc ' un ' apkopojuma funkcija ”Šajā kļūdā ir izmantoti. Tāpēc mums ir jāsaprot, kad un kā tos izmantot.



Grupēt pēc klauzulas:

Ja analītiķim ir jāapkopo vai jāapkopo dati, piemēram, peļņa, zaudējumi, pārdošanas apjomi, izmaksas un alga utt., Izmantojot SQL, “ GRUPA PĒC ”Šajā ziņā ir ļoti noderīga. Piemēram, apkopojot, ikdienas pārdošanas apjomus, kas jāparāda augstākajai vadībai. Līdzīgi, ja vēlaties to saskaitīt studentu skaitu kādā universitātes grupas nodaļā kopā ar apkopošanas funkciju, tas jums palīdzēs.

Grupēt pēc sadalīšanas, pielietošanas un apvienošanas stratēģijas:

Grupējiet pēc stratēģijas “sadalīt, pielietot - apvienot”

  • Sadalītā fāze sadala grupas ar to vērtībām.
  • Lietošanas fāzē tiek izmantota apkopošanas funkcija un tiek ģenerēta viena vērtība.
  • Kombinētā fāze apvieno visas grupas vērtības kā vienu vērtību.

Stratēģijas “SPLIT_APPLY_COMBINE” paraugs



Iepriekš redzamajā attēlā redzam, ka kolonna ir sadalīta trīs grupās, pamatojoties uz pirmo kolonnu C1, un pēc tam grupētajām vērtībām tiek piemērota apkopošanas funkcija. Beidzot apvienotais posms katrai grupai piešķir vienu vērtību.

To var izskaidrot, izmantojot tālāk sniegto piemēru. Vispirms izveidojiet datu bāzi ar nosaukumu “appuals”.

Datu bāzes izveidošana

Piemērs:

Izveidot tabulu “ darbinieks ”, Izmantojot šādu kodu.

LIETOT [int] NULL, [alga] [int] NULL, IEROBEŽOJUMS [PK_darbinieks] PAMATSLĒDZES AIZSLĒGTS ([e_id] ASC) AR (PAD_INDEX = Izslēgts, STATISTICS_NORECOMPUTE = Izslēgts, IGNORE_DUP_KEY = Izslēgts, ALLOW_ROW_LOCKS = ON_, ALLOW_ ON_, ONOW_LOCK PRIMARY]) ON [PRIMARY] GO SET ANSI_PADDING OFF GO

Darbinieku tabulas izveide

Tagad ievietojiet datus tabulā, izmantojot šādu kodu.

Ievietojiet darbinieka (e_id, e_ename, dep_id, alga) vērtības (101, 'Sadia