Ich habe eine Tabelle mit einem mehrspaltigen Primärschlüssel (Stadt / Bundesland / Datum) und vielen weiteren Datenspalten. Ich suche nach den neuesten Daten für jede Stadt / jeden Bundesstaat. Wie mache ich das sauber / effizient? Im Moment kann ich dies tun, indem ich eine erste Abfrage mache, um die Liste aller Zeilen zu erhalten, die ich abzurufen versuche, gefolgt von einer zweiten Abfrage mit einer massiven WHERE-Klausel:
%Vor%Das ist wirklich hässlich und ineffizient, und wenn die erste Abfrage viele Zeilen zurückgibt, ist meine zweite Abfrage möglicherweise zu lang. Klar, wenn ich einen einspaltigen Primärschlüssel habe, könnte ich einen Subselect mit IN () verwenden, aber das ist hier nicht wirklich möglich. Irgendwelche Vorschläge?
UPDATE: Ich habe Bills Vorschlag mit einem Subselect versucht, aber er benutzt keine Schlüssel und dauert ewig. Wenn ich den Subselect so einschränke, dass er nur 5 Zeilen zurückgibt, wird er in 0.64s zurückgegeben. Wenn ich alle 73 Stadt / Staat-Kombinationen zurückgeben lasse, dauert es sehr lange (Abfrage läuft noch).
%Vor%Tags und Links mysql