ORA-00937

ora-00937

Co tak naprawdę nie jest funkcja grupowa w SQL?

Każda instrukcja SELECT nieuwzględniona w tej funkcji GROUP musi być umieszczona w klauzuli GROUP BY. Tak naprawdę są to AVG, COUNT, MAX, MIN, SUM, STDDEV i VARIANCE. Możesz również potrzebować wypróbowania instrukcji SELECT zawierającej każdą klauzulę GROUP BY.

Nieprawidłowe użycie najważniejszego polecenia GROUP BY w wystąpieniu błędu. Polecenie GROUP BY pomaga rzeczywistemu użytkownikowi wyświetlić wiersze z bezwzględną wspólną wartością pola w identyfikowalnym pojedynczym wierszu. Na przykład trywialny dyrektor generalny firmy chce, aby pomóc zobaczyć klientom, którzy w ciągu ostatniego miesiąca najczęściej korzystali z jednej konkretnej usługi na godzinę. Innym przypadkiem może być sytuacja, w której kierownik akademii woli, aby uczniowie korzystali z modułów oceny honoru. W takich przypadkach użytkownik może z pewnością wydać na rynku oświadczenie GROUP BY, aby zobaczyć wyniki.

Stwierdzono, że GROUP BY ogranicza wyniki do jednej określonej wartości z połączonymi funkcjami agregacji. Polecenie GROUP BY może być przydatne do wyświetlania wybranych efektów. Zazwyczaj . jest używany, co uwzględnia konieczność pracy z konkretną poprawną składnią podczas uruchamiania rankingu.

Problem

Jeśli napotkasz ORA-00923, na pewno zobaczysz komunikat o błędzie

Co prawdopodobnie będzie nie oznacza jednej funkcji grupy kręgów?

Komunikat o błędzie Oracle: „ORA-00937: raczej niż bardzo dobry”Twoja grupa działa z jedną grupą. Jego znaczenie jest w rzeczywistości następujące: „Lista SELECT nie może uwzględniać zarówno określonej funkcji grupowej, takiej jak AVG, COUNT, MAX, MIN, SUM, STDDEV lub VARIANCE, jak również pojedynczego wyrażenia Lewisa, chyba że poszczególne słowa kluczowe kolumny są zawarte w GRUPA WEDŁUG – Klauzula.

ORA-00923: brak unikalnej funkcji specyficznej dla grupy

Dokumentacja Oracle podaje cel, kiedy SELECT powinien być:

Pokaz nie może być jednocześnie funkcją grupową, taką jak AVG, COUNT, MAX, MIN, SUM, STDDEV lub VARIANCE, ani absolutnym pojedynczym wyrażeniem Gleam, jeśli pokaz dotyczy jednej kolumny nie jest uwzględniony w klauzuli GROUP BY.

Który jest faktycznie używany aby zapobiec typowi błędu ORA-00937 Nie działa żadna pojedyncza grupa?

Aby zapytanie wyszukiwania zadziałało, użytkownicy muszą albo usunąć główną wydajność lub wyrażenie kolumny z polecenia SELECT, albo dodać terminy GROUP BY zawierające wyrażenie kolumny. Przestrzeganie określonej zasady i upewnienie się, że składnia rozważań jest poprawna, powinno zapobiec występowaniu ORA-00937 w przyszłości.

W pozostałych słowach próbowałeś wydać praktycznie dowolną instrukcję SELECT wymagającą klauzuli GROUP, która nie zawiera jednej konkretnej klauzuli GROUP. Jeśli większość osób polega na funkcji agregującej w Twojej możliwości (np. zapytanie AVG, COUNT, MAX, MIN…), powinieneś mieć klauzulę wielkiego okręgu BY.

Rozwiązanie

Aby naprawić błąd, ludzie mogą zwykle usunąć wynikową funkcję band lub wyrażenie kolumny z rzeczywistej klauzuli SELECT lub dodać klauzulę GROUP BY, która może zawierać wyrażenia uśmiechu.

Jeśli chcesz dodać konkretną klauzulę GROUP BY, upewnij się, że zawierasz uśmiechy i postępuj zgodnie z akceptowalną organizacją. Weźmy za przykład każdego niskiego dyrektora generalnego, który chce skrócić czas i przejrzeć listę powiązanych pracowników, którzy przepracowali kilka godzin w zorganizowanym dziale. Prawidłowa składnia klauzuli GROUP BY byłaby prawdopodobnie następująca:

SELECT dział, MAX(godziny) AS “większość godzin”

Pracownicy

GRUPA WEDŁUG DZIAŁÓW;

Kod komputera błędu Oracle 00937

Foresight

Zalecane:

Czy masz wolno działający komputer? Jeśli tak, być może nadszedł czas, aby rozważyć oprogramowanie do naprawy systemu Windows. Reimage jest łatwy w użyciu i szybko naprawi typowe błędy na komputerze. To oprogramowanie może nawet odzyskać pliki z uszkodzonych dysków twardych lub uszkodzonych pamięci USB. Ma również możliwość usuwania wirusów jednym kliknięciem przycisku!

  • Krok 1: Pobierz i zainstaluj Reimage
  • Krok 2: Uruchom program i wybierz urządzenie, które chcesz przeskanować
  • Krok 3: Kliknij przycisk Skanuj, aby rozpocząć proces skanowania

  • Pamiętaj, że jeśli klienci używają funkcji łączenia w twoim r W dokładnie zalecanym zapytaniu, musisz również zakończyć z klauzulą ​​GROUP BY. Czy nie można odwołać się do kolumny niezagregowanej w SELECT, która jest również wymieniona w klauzuli GROUP BY do no. Aby mimo to zapytanie było prawidłowo zorganizowane, musisz albo zmniejszyć wygląd kolumny grupy lub funkcji za pomocą SELECT, albo dodać końcową klauzulę GROUP BY zawierającą to wyrażenie uśmiechu.

    Postępowanie zgodnie z tą zasadą i poprawna składnia zmartwień powinno zmniejszyć prawdopodobieństwo rzucenia ORA-00937 w długim czasie. Chociaż proces incydentów ten błąd nie jest zbyt stresujący, jeśli nadal masz problemy z ORA-00937, skontaktuj się z DBA lub przeszkolonym konsultantem Oracle.