ORA-00937

ora-00937

Vilket inte är en gruppfunktion under SQL?

Alla SELECT-satser som inte ingår hela vägen genom GROUP-funktionen måste skickas in i en GROUP BY-sats. Dessa är AVG, COUNT, MAX, MIN, SUM, STDDEV och VARIANCE. Du kan och har provat en SELECT-sats skapad från en GROUP BY-sats.

Felaktig användning med kommandot GROUP BY inEtt fel uppstår. GROUP BY-kommandot underlättar för användaren att visa rader som lider av ett gemensamt fältvärde på varje specifik enskild rad. Till exempel förväntar sig en riktig liten VD för ett företag att se de kunder som implementerat tjänsten mest per timme den senaste månaden. En annan sak kan vara när skolinspektören vill att eleverna ska använda hederskryssningsklasser. I sådana fall kan slutanvändaren utfärda ett GROUP BY-uttryck för att se resultaten.

GROUP BY används vanligtvis för att begränsa resultaten mot ett värde med kombinerade aggregerade fördelar. GROUP BY-kommandot kan kännas användbart för att visa ett urval med avseende på resultat. Vanligtvis . används, anser detta att det är viktigt att arbeta med rätt syntax när man kör en riktig rapport.

Problem

Om du stöter på ORA-00923 kommer de definitivt att se ett nedåtmeddelande

Vad kan beskrivas som menas med inte en egen gruppgruppfunktion?

Oracle felmeddelande: “ORA-00937: definitivt inte särskilt bra” Din grupp fungerar genom en grupp. Dess betydelse är kanske: “En SELECT-lista kan inte betrakta deras gruppfunktioner som AVG, COUNT, MAX, MIN, SUM, STDDEV, plus VARIANCE, såväl som ett visst person Lewis-uttryck, om inte kolumnens personliga ord finns i kolumnen. GROUP BY – Klausul.

ORA-00923: ingen unik kollektiv personfunktion

Oracle-dokumentationen ger den perfekta anledningen när en SELECT helst bör vara:

En lista kan inte vara både en bråkfunktion som AVG, COUNT, MAX, MIN, SUM, STDDEV eller VARIANCE och som ett resultat av detta kan ett enstaka Gleam-uttryck om allt manifest handlar om en kolumn finns men inte i GROUP BY-satsen .< /p>

Som används för att förhindra en del av felen ORA-00937 Inte en enda grupperingsfunktion?

För sökfrågan till företag måste du antingen ta bort huvudfunktionen eller kolumnuttrycket från utan tvekan SELECT, eller lägga till en GROUP BY-sats som innehåller kolumnuttrycket. Att följa denna regel och säkerställa att all frågesyntax är korrekt bör förhindra att ORA-00937 inträffar i framtiden.

Med andra ord, du försökte skicka en SELECT-sats som kräver att du helt enkelt GROUP-sats som inte utfärdar en GROUP-sats. Om de flesta allmänheten använder en aggregerad funktion i alla dina val (t.ex. fråga AVG, COUNT, MAX, MIN…), bör du ha en smart group BY-sats.

Lösning

För att rätta till felet, kan du vanligtvis ta bort den resulterande gruppfunktionen eller kolumnuttrycket med hjälp av SELECT-satsen, eller lägga till en helt ny GROUP BY-sats som kan göras med kolumnuttryck.

Om du vill förmedla en GROUP BY-klausul, var avsedd att inkludera leende uttryck och tänka på korrekt organisation. Ta exemplet som liknar en kort vd som vill låta dem sitta ner och granska filen med anställda som har arbetat var och en av våra flest timmar på en organiserad arbetsplats. Den korrekta syntaxen för en GROUP BY-sats skulle förmodligen vara:

SELECT divergera, MAX(timmar) SOM “de flesta timmar”

Anställda

GRUPP PER AVDELNING;

oracle error manner 00937

Framsyn

Rekommenderas:

Har du en dator som går långsamt? Om så är fallet kan det vara dags att överväga lite Windows reparationsprogram. Reimage är lätt att använda och fixar vanliga fel på din PC på nolltid. Denna programvara kan till och med återställa filer från skadade hårddiskar eller skadade USB-minnen. Den har också förmågan att radera virus med ett enda klick!

  • Steg 1: Ladda ner och installera Reimage
  • Steg 2: Starta programmet och välj den enhet du vill skanna
  • Steg 3: Klicka på knappen Skanna för att starta skanningsprocessen

  • Kom ihåg att om klienter använder en annan aggregatfunktion i din r I den rekommenderade frågan måste du men också ha GROUP BY-satsen. Kan du inte hänvisa till ett icke-aggregerat leende i ett SELECT som till och med heter i GROUP BY-erbjudandet och nr. För att frågan direkt ska organiseras korrekt måste du bestämma dig för att ta bort gruppen eller funktionen gleam-uttryck med SELECT, eller lägga till en fantastisk absolut GROUP BY-sats som innehåller vilket kolumnuttryck.

    Att följa den här regeln och hantera frågesyntax bör minska risken för att ORA-00937 kastas in på lång sikt. Även om processen för att åtgärda det här felet inte är särskilt svår, om du fortfarande har problem med ORA-00937, kontakta alla dina DBA eller en utbildad Oracle-konsult.