Ich habe eine Tabelle, die einige Berichte über eine URL speichert und sie haben ein Feld wie created_date. Derselbe Bericht kann mehrmals generiert (und gespeichert) werden, da sich die Werte ändern können. Wie kann ich die URL-Berichte abrufen, aber nur die neuesten?Wie erhalten Sie die neuesten Datensätze von MySQL?
Mein Tisch (page_report):
id INT PK
url VARCHAR(255)
created_date TIMESTAMP
Beispieldaten:
id url created_date
1 google.com 2016-11-01
2 google.com 2016-11-05
3 bing.com 2016-11-03
4 bing.com 2016-11-06
ich brauche:
id url created_date
1 google.com 2016-11-05
2 bing.com 2016-11-06
Was ich habe, so weit:
SELECT r1.*
FROM page_report r1
LEFT JOIN page_report r2 ON r1.url = r2.url AND r1.created_date < r2.created_date
WHERE r2.url IS NULL;
Aber es ist sehr langsam. Gibt es einen besseren Weg?
Hoffe, ich machte mich klar und danke im Voraus!
abfragen Max (created_date). –
Wenn sich die URL ändert ... woher wissen Sie, welche Datensätze zueinander gehören? – xQbert
Plz liefern Beispieldaten und Ihre Wunschausgabe. – MasoodUrRehman