mein erster Beitrag ...mysql finden die jüngste jeden id
Ich habe eine Story Tisch, an die Benutzer-Flag Geschichten, in Priorität 1,2,3,4 für auf der Homepage der Website angezeigt wird.
Das Problem ist, dass, wenn sie Geschichten hinzufügen die alten auf Seite zwei, drei usw. im CMS gedrückt werden. Sie kennzeichnen dann eine neue "1", "2" usw., ohne die alten 1s, 2s usw. zu löschen - die in den Daten bleiben, nur für den Fall, dass die neue Nummer 1 "degradiert" wird (das Flag entfernt) oder gelöscht wird.
Was ich herausbekommen möchte, ist die newsid und Überschrift, von den letzten jeder Nummer "1", "2", "3" und "4".
Ich habe einige ähnliche Beiträge gefunden, aber es ist nicht der Zeitstempel, der wichtig ist, ist das Flag-Feld ("xorder" genannt). Die entsprechenden Felder in der „newsStories“ Tabelle sind unten:
newsid int
headline varchar(60)
xorder int (number or null)
xtimestamp datetime - this is the publish date
In diesem Szenario des xtimestamp Feld ist wichtig, da sein Datum/Uhrzeit sie die Nachrichten Geschichte (das Veröffentlichungsdatum) angezeigt werden sollen, eher als ein Zeitstempel-Feld , die von MySQL aktualisiert würde. Wir wollen keine Geschichten zeigen, wo die veröffentlichte Datum/Zeit größer als die aktuellen Systemzeitstempel (erlaubt Geschichten Embargo werden) wir die Abfrage erzeugen, wenn die Webseite geladen wird, so dass unsere Kriterien lesen so etwas wie:
where xorder IS NOT NULL
AND xorder > 0
AND xtimestamp <= 201604271800 (for 6pm today)
(Dies ist etwas vereinfacht, da es andere Kriterien gibt).
Ich sortiere nach xtimestamp desc und xorder asc, und nur die ersten 4 Datensätze gefunden, aber das gibt sie nicht in der richtigen xorder.
Hoffe das macht Sinn, jede Hilfe geschätzt.
also möchten Sie xorder von 1 - 4 bestellen? Fügen Sie einfach ORDER BY xorder ASC hinzu. – Matt
Mögliches Duplikat von [Get top n records für jede Gruppe von gruppierten Ergebnissen] (http://stackoverflow.com/questions/12113699/get-top-n-records-for-each-group-of -grouped-ergebnisse) – Shadow
order von xorder ASC holt mir alle 1s, dann alle 2s. Ich möchte die neueste 1, dann die neueste 2, dann die neueste 3 dann die neueste 4.By "neueste", ich meine das Xximestamp-Feld. –