a : b : c
--------
1 : 1 : 3
1 : 4 : 7
2 : 5 : 4
2 : 6 : 8
3 : 9 : 7
3 : 2 : 6
ovo je otprilike izgled tabele, a upit je izgledao ovako
SELECT
a,
b,
MAX(c)
FROM
table
GROUP BY
a
ORDER BY
a, b DESC
ono sto je ocekivano od ovog upita bi trebalo da izgleda ovako
a : b : c
--------
1 : 4 : 7
2 : 6 : 8
3 : 9 : 7
ali rezultat koji sam dobijao je izgledao ovako, tj nije povezivao b sa max(c) nego je rezultat prvo grupisao i onda izbacivao max za tu grupu i pored postojanja order klauzule
a : b : c
--------
1 : 1 : 7
2 : 5 : 8
3 : 9 : 7
Problem se ispoljavao prilkom izvrsavanja ovog upita iz php koda, dok se nije manifestovao iz phpMyAdmina, i ono sto sam primetio da je jedina razlika i izmedju mog upita i onog koji koristi pMA je to sto na kraju svakog upita dodaje LIMIT 0, 30 po defaultu.
Tako dodavsi LIMIT 10 se problem resio, ovo je ocigledan bug vezan za GROUP BY i s obzirom koliko me je namucio, da ne pricam koliko sam ljudi angazovao za resavanje ovog problema, i koliko sam raznih resenja dobio, resio sam da ovo podelim sa ljudima na forumu, da se ne bi patili ko ja.
Ovaj problem je registrovan i na zvanicnom sajtu MySQL-a ali su odgovorili da je to ocekivano ponasanje, a kao sto se vidi to nije regularno.