Meine Daten sieht wie folgt aus:Wie Sie die neuesten 2 Artikel pro Kategorie in einem wählen bekommen (mit mysql)
id|category|insertdate|title.... -------------------------------- 1|1|123|test 1 2|1|124|test 2 3|1|125|test 3 4|2|102|test 4 5|2|103|test 5 6|2|104|test 6
Was ich versuche, die spätestens 2 Einträge pro Kategorie zu erreichen, wird zu erhalten (wie in Ordnung von Insert DESC), so sollte das Ergebnis sein:
id|.... ---- 3|.... 2|.... 6|.... 5|....
Erste die spätestens mit group by
ist einfach, aber wie bekomme ich die neuesten 2 ohne mehrere Abfragen zu starten?
Danke für jede Hilfe ;-)
S.
Das sollte ein WHERE Zähler <2 anstelle von HAVING sein, aber abgesehen davon ist es eine ideale Antwort, wenn potenziell ineffizient, da es durch jeden Datensatz gehen muss. – Welbog
Ich habe versucht, das HAVING im zweiten Subselect zu haben, aber Counter "war zu diesem Zeitpunkt noch nicht gesetzt" oder "der Optimierer hat das vor dem @counter ausgeführt" ... daher wird natürlich auch ein WHERE die Arbeit im Outer erledigen ein. –