Kein Ergebnis mit COUNT-GROUP BY bei MYSQL 5.7, allerdings bei MYSQL 5.5

Laienspiel

Neuer Benutzer
Beiträge
2
Liebe Forenmitglieder,

aus tiefer Ratlosigkeit schreibe ich mit der Bitte um Hilfe.

Problemsituation:

Server:

Mysql 5.5.49
PHP 5.4.45


Abfragen in der Form funktionieren auf der Server-Internetseite tadellos:

SELECT tabelle_1.spalte_1, tabelle_2.spalte_2,
COUNT(tabelle_1.spalte_1) AS anzahl
FROM tabelle_1 LEFT JOIN tabelle_2 ON tabelle_1.spalte_3 = tabelle_2.spalte_1
WHERE tabelle_1.spalte_3 = '39664'
GROUP BY tabelle_1.spalte_3



Localhost:

Mysql 5.7.13
PHP 7.0.8


Die Abfrage liefert kein Ergebnis, gleichwohl die komplette Datenbank von Serverdaten importiert wurde und somit denselben Datenbankbestand hat.


Analyse:

Sobald ich den COUNT und GROUP BY-Teil weglasse, liefert die Abfrage Ergebnisse. Alle sonstigen SQL-Abfragen funktionieren auf dem Localhost, zugrundeliegender Code sowohl als auch der Datenbankbestand sind gleich.

Auf welchem Auge bin ich blind?
 
Werbung:
Dein GROUP BY ist nicht nur nicht vollständig sondern auch noch falsch. Alle Spalten die im Select Teil stehen müssen entweder aggregiert oder gruppiert werden. Die aktuelle MySQL Version erkennt eine falsche Syntax im Gegensatz zu früher.

Code:
SELECT tabelle_1.spalte_1, tabelle_2.spalte_2,
COUNT(tabelle_1.spalte_1) AS anzahl
FROM tabelle_1 LEFT JOIN tabelle_2 ON tabelle_1.spalte_3 = tabelle_2.spalte_1
WHERE tabelle_1.spalte_3 = '39664'
GROUP BY tabelle_1.spalte_1, tabelle_2.spalte_2
 
Vielen Dank für die Antworten.

Es lag tatsächlich daran, dass nicht alle Spalten im GROUP BY-Teil aufgenommen worden. Da mir nicht klar ist, wie ich mittels einer einzigen Abfrage an die entsprechenden Daten komme, habe ich die Abfrage jetzt in zwei Teile geteilt (erste Abfrage holt mir die Anzahl, die zweite die entsprechenden weiteren Daten).
 
Werbung:
Zurück
Oben