MySQL wählt GROUP BY Reihenfolge

8

Ich habe eine mysql-Anweisung

%Vor%

und es produziert die richtigen Ergebnisse, aber sie sind nicht in der richtigen Reihenfolge.

Die Gruppierung funktioniert gut, aber die in der Gruppe angezeigte Aufzeichnung ist die erste, die in der DB aufgezeichnet wurde, aber ich möchte, dass die letzte Aufzeichnung in jeder Gruppe angezeigt wird.

Gibt es eine Möglichkeit, den neuesten Datensatz für jede Gruppe anzuzeigen?

%Vor%

Die Gruppe zeigt 'Dies ist die erste Nachricht' an, wo ich möchte 'Dies ist die dritte Nachricht', da dies die letzte Nachricht ist.

Prost

    
puks1978 19.12.2011, 01:32
quelle

4 Antworten

9

Dies funktioniert (aber nicht garantiert):

%Vor%

Das sollte funktionieren:

%Vor%     
ypercubeᵀᴹ 19.12.2011, 01:54
quelle
8

Führen Sie nach dem ORDER BY eine GROUP BY aus, indem Sie Ihre Abfrage wie folgt mit der GROUP BY verknüpfen:

%Vor%     
11101101b 30.04.2013 19:56
quelle
2

Wenn Ihre Nachrichtentabelle einen Primärschlüssel hat, der automatisch inkrementiert wird, und alle Nachrichten von Natur aus sind, ist die höchste Zahl das neueste Datum ... Da ich dies jedoch nicht weiß, werde ich auf der MAX basieren (date_sent) anstelle von max (SomeIDKey), aber das Prinzip ist das gleiche.

%Vor%     
DRapp 19.12.2011 01:53
quelle
-1

Meinst du etwa so:

%Vor%     
Sudhir Bastakoti 19.12.2011 01:38
quelle

Tags und Links