Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Nakaz stosowania GROUP BY dla każdej kolumny
pamil
post 27.08.2012, 22:58:15
Post #1





Grupa: Zarejestrowani
Postów: 97
Pomógł: 15
Dołączył: 12.08.2012
Skąd: Zabrze

Ostrzeżenie: (10%)
X----


Witam!
Na localhoście zapytania do PostgreSQL nie zgłaszają żadnych błędów (PostgreSQL 9.1.4).
Na serwerze natomiast (PostgreSQL 9.0.7) zgłasza mi taki błąd:
Kod
n exception has been thrown during the rendering of a template ("SQLSTATE[42803]: Grouping error: 7 BŁĄD: kolumna "c0_.name" musi występować w klauzuli GROUP BY lub być użyta w funkcji agregującej
LINE 1: SELECT c0_.id AS id0, c0_.name AS name1, COUNT(i1_.id) AS sc...
^"

Wie ktoś może od czego to zależy? Wersja postgresa? Konfiguracja?
Generalnie, postgres chce abym dodał klauzulę GROUP BY do każdej kolumny c0.*.
Go to the top of the page
+Quote Post
YaQzi
post 12.09.2012, 22:09:19
Post #2





Grupa: Zarejestrowani
Postów: 94
Pomógł: 31
Dołączył: 12.10.2008
Skąd: WAT

Ostrzeżenie: (0%)
-----


Geralnie skoro robisz COUNT() to musisz bazie powiedzieć w jaki sposób ma postąpić z innymi - powielonymi lub nie kolumnami w selekcie. Czyli max(), min() czy też GROUP BY więc słusznie Ci tu postgres wymusza dorzucenie do grupa pozostałych kolumn. Skopiuj sobie dane z serwera do lokala i wtedy sprawdź czy nic postgres nie krzyczy. Najstarszego postgresa pamiętam jakoś 8.2 i tam Cię na pewno bez group by nie puszczał.


--------------------
 Wszystkie wielkości świata nie są tyle warte, co dobra przyjaźń...
Go to the top of the page
+Quote Post
vermis
post 12.09.2012, 22:31:40
Post #3





Grupa: Zarejestrowani
Postów: 279
Pomógł: 56
Dołączył: 3.06.2010
Skąd: Tarnowskie Góry

Ostrzeżenie: (0%)
-----


Zgodnie ze standardem powinieneś grupować po kolumnach dla których używasz funkcji agregujących. W tym wypadku pojawienie się błedu jest dla mnie poprawnym działaniem, raczej zastanawiałbym się dlaczego na innej wersji się nie pojawił niż odwrotnie.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2024 - 12:22