Beim Umgang mit Daten, die mehrere Zeilen für jeden Bezeichner und jeden Zeitstempelwert enthalten, ist es notwendig, die Daten bei der Auswahl eindeutiger Zeilen nach Mindestwert zu gruppieren. Dadurch wird sichergestellt, dass jeder Bezeichner bei seinem frühesten Vorkommen nur einmal vertreten ist.
In der bereitgestellten Beispieltabelle besteht das Ziel darin, die Zeile mit der kleinsten record_date
für jede ID zu extrahieren. Allerdings enthält die Tabelle doppelte Datumsangaben, was es schwierig macht, dieses Ziel mit herkömmlichen Methoden zu erreichen.
Dieses Problem kann mithilfe korrelierter Unterabfragen und innerer Verknüpfungen gelöst werden:
<code class="language-sql">SELECT mt.* FROM MyTable mt INNER JOIN ( SELECT id, MIN(record_date) AS MinDate FROM MyTable GROUP BY id ) t ON mt.id = t.id AND mt.record_date = t.MinDate</code>
Diese Methode beinhaltet:
record_date
für jede ID zu ermitteln. id
) mit der Unterabfrage mithilfe der Felder record_date
und MyTable
. Die Ergebnistabelle enthält nur die Zeile mit der kleinsten record_date
für jede ID. Diese Methode verhindert, dass doppelte Zeilen in der Ausgabe erscheinen.
Das obige ist der detaillierte Inhalt vonWie wähle ich eindeutige Zeilen mit dem Mindestwert für jede ID und jeden Zeitstempel aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!