MySQL Select Anweisung DISTINCT für mehrere Spalten

8

Ich versuche gerade, eine etwas knifflige MySQL Select-Anweisung zu erstellen. Hier ist, was ich zu erreichen versuche:

Ich habe eine Tabelle wie folgt:

%Vor%

Grundsätzlich möchte ich in der Lage sein, SELECT / GROUP BY die stringID (Bild, dass die stringID eingefädelt ist) und nicht dupliziert haben. Außerdem möchte ich die letzte Zeile stringID auswählen (was im obigen Beispiel uniqueID 3 ist).

Wenn ich also die Datenbank abfragen würde, würde sie Folgendes zurückgeben (mit der jüngsten uniqueID ganz oben):

%Vor%

Ich hoffe, das macht Sinn. Danke für deine Hilfe.

    
Bill Karwin 25.07.2009, 06:24
quelle

5 Antworten

9

Versuchen Sie Folgendes. Es ist möglicherweise nicht die effizienteste Abfrage, aber es funktioniert:

%Vor%     
Andrew Moore 25.07.2009, 06:34
quelle
3
%Vor%     
Bill Frederickson 07.01.2011 18:30
quelle
2

Bearbeiten: Basierend auf neuen Informationen, die vom OP in einem Kommentar zur Verfügung gestellt werden, wäre es vorzuziehen, sich auf uniqueID zu verlassen:

%Vor%

Wenn Sie, wie Lexu in einem Kommentar erwähnt, sicher sind, dass der höchste uniqueID -Wert immer dem neuesten Betreff entspricht, können Sie dies tun:

%Vor%

Was im Grunde bedeutet: gib mir nur die Datensätze von data_table zurück, wo es keinen höheren uniqueID Wert gibt.

    
bernie 25.07.2009 06:49
quelle
0

Ich hatte eine ähnliche Situation und habe eine andere Abfrage gefunden. Versuchen Sie Folgendes:

%Vor%     
WebMuse 03.08.2012 21:23
quelle
-1
%Vor%     
dino 11.10.2012 11:16
quelle