Guten Abend
Ich habe vor kurzem auf meinem localen Server auf PHP7 und auf die neuste MySQL Version geupdatet. Dort habe ich nun natürlich auch sql_mode=only_full_group_by.
GROUP BY habe ich dann verwendet, wenn von einer ID mehrere ergebnisse erwartet werden, ich diese aber gruppiert haben möchte. Soweit sogut.
Nun habe ich folgende SQL Abfrage:
Das liefert dann diesen Fehler:
Wenn ich das vermisste Feld in die GROUP BY anweisung nehme habe ich kein Fehler mehr:
Was ich nun nicht ganz verstehe, weshalb muss genau dieses Feld nun auch in die GROUP BY rein, und liefert das wirklich das selbe ergebnis. In den ersten tests ja. Aber mich würde der Grund interessieren. Ich habe viele englische Infos dazu gefunden. Da mein Englisch jedoch nicht sehr gut ist verstehe ichs nicht so recht.
Vielen Dank schon im Voraus für eure Hilfe.
Gruss
Koda
Ich habe vor kurzem auf meinem localen Server auf PHP7 und auf die neuste MySQL Version geupdatet. Dort habe ich nun natürlich auch sql_mode=only_full_group_by.
GROUP BY habe ich dann verwendet, wenn von einer ID mehrere ergebnisse erwartet werden, ich diese aber gruppiert haben möchte. Soweit sogut.
Nun habe ich folgende SQL Abfrage:
Code:
SELECT product.*, price.productPrice FROM product_list product LEFT JOIN product_price price ON (price.productID=product.productID) WHERE product.inactive = '0' GROUP BY product.productID ORDER BY rand() LIMIT 0, 10
Code:
SELECT list is not in GROUP BY clause and contains nonaggregated column 'DBName.price.productPrice' which is not functionally dependent on columns in GROUP BY clause;
Code:
SELECT product.*, price.productPrice FROM product_list product LEFT JOIN product_price price ON (price.productID=product.productID) WHERE product.inactive = '0' GROUP BY product.productID, price.productPrice ORDER BY rand() LIMIT 0, 10
Vielen Dank schon im Voraus für eure Hilfe.
Gruss
Koda
Kommentar