2017-07-03 8 views
1

Database table image habe ich die Tabelle oben und ich möchte eine MySQL-Abfrage zu Gruppenzeilen laufen, wo noteId, dataId und type den gleichen Wert haben.MySQL GROUP mit ORDER BY Änderung BY

$query = mysqli_query($con, "SELECT * FROM table WHERE userTo = '1' GROUP BY noteId, dataId, type ORDER BY id DESC"); 

Jetzt glaube ich, dass diese Abfrage oben die Gruppierung durchführen und die letzte Zeile in jeder Gruppe zurückgeben soll. Aber stattdessen bekomme ich die erste Reihe in jeder Gruppe.

Zum Beispiel sind die Zeilen 13, 14 und 16 zusammengruppiert. Also möchte ich Zeile 16 zurückgegeben werden, indem Sie ORDER BY id DESC tun, sondern stattdessen Zeile 13.

Bitte kann mir jemand helfen?

+0

Können Sie Ihre PHP-Parsing-Code als auch hinzufügen? aus den zurückgegebenen Zeilen? –

Antwort

2

können Sie versuchen, diese

SELECT * FROM (SELECT * FROM table ORDER BY id DESC) t 
WHERE t.userTo = '1' GROUP BY t.noteId, t.dataId, t.type 
+0

Danke, das hat funktioniert – user7713452