Ich habe eine similar question vor und während die Antworten, die ich bekam, spektakulär waren, muss ich möglicherweise zu klären.Wählen Sie N Zeilen aus einer Tabelle mit einem nicht eindeutigen Fremdschlüssel
Genau wie This question Ich möchte N Anzahl der Zeilen abhängig von einem Wert in einer Spalte zurückgeben.
Mein Beispiel wird ich habe einen Blog, wo ich meine Beiträge zusammen mit einer Vorschau der Kommentare zeigen möchte. Die letzten drei Kommentare um genau zu sein.
Ich habe ich brauche für meine Beiträge, aber ich bin mein Gehirn, um die Kommentare richtig zu bekommen. Die Kommentartabelle hat einen Fremdschlüssel von post_id, der offensichtlich mehrere Kommentare an einen Beitrag anhängen kann. Wenn also ein Beitrag 20 Kommentare hat, möchte ich nur die letzten drei zurückgeben. Was das etwas schwierig macht, ist, dass ich es in einer Abfrage und nicht in einer "Limit 3" -Abfrage pro Blogpost machen möchte, was das Rendern einer Seite mit vielen Posts sehr fragwürdig macht.
SELECT *
FROM replies
GROUP BY post_id
HAVING COUNT(post_id) <=3
Diese Abfrage tut, was ich will, aber nur einen von jedem Kommentar und nicht drei zurückgibt.
danke für den Link deinen tollen Blog! –
Gern geschehen :) – Quassnoi
Ich werde definitiv etwas lesen müssen, um herauszufinden, was hier vor sich geht. Einige dieser Abfragen, insbesondere die CAST(), liegen außerhalb meines Geltungsbereiches. –