Werfen Sie einen Blick auf der MySQL-Tabelle unter dem Namen „Artikel“:Suche mit maximalem Wert von id in MySQL Zeile
+----+-----------+---------+------------------------+--------------------------+
| id | articleId | version | title | content |
+----+-----------+---------+------------------------+--------------------------+
| 1 | 1 | 0.0 | ArticleNo.1 title v0.0 | ArticleNo.1 content v0.0 |
| 2 | 1 | 1.0 | ArticleNo.1 title v1.0 | ArticleNo.1 content v1.0 |
| 3 | 1 | 1.5 | ArticleNo.1 title v1.5 | ArticleNo.1 content v1.5 |
| 4 | 1 | 2.0 | ArticleNo.1 title v2.0 | ArticleNo.1 content v2.0 |
| 5 | 2 | 1.0 | ArticleNo.2 title v1.0 | ArticleNo.2 content v1.0 |
| 6 | 2 | 2.0 | ArticleNo.2 title v2.0 | ArticleNo.2 content v2.0 |
+----+-----------+---------+------------------------+--------------------------+
Im Versuch mit einer Abfrage zu kommen Articles.id zurückzukehren, wo Articles.version ist die maximale Anzahl.
Die tatsächliche Artikel Tabelle enthält über 10.000 Einträge.
Also in diesem Beispiel möchte ich nur Artikel.id 4 und 6 zurückgegeben werden. Ich habe Keyword distinct und Funktion max() betrachtet, aber kann nicht scheinen es zu nageln.
Alle geschätzt Vorschläge ...
Dies gibt nur die neuesten Versionen von Artikeln zurück und verwirft die vorherigen/älteren Versionen. Schöne Fragen Jungs, vielen Dank! –
Nur für den Rekord: T.J. Crowder hat in seiner Antwort darauf hingewiesen, dass eine Unterabfrage nicht obligatorisch ist: Es kann auch mit einem LEFT JOIN gemacht werden. – soulmerge