MySQL-Limit mit vielen zu vielen Beziehungen
Gegeben ein Schema für die Implementierung von Tags
ITEM ItemId, ItemContent
TAG TagId, TagName
ITEM_TAG ItemId, TagId
Wie kann die Anzahl der zurückzugebenden ITEMS bei der Auswahl mit Tags am besten begrenzt werden?
SELECT i.ItemContent, t.TagName FROM item i
INNER JOIN ItemTag it ON i.id = it.ItemId
INNER JOIN tag t ON t.id = it.TagId
Dies ist natürlich der einfachste Weg, um alle zurückzugewinnen. Die Verwendung einer Limit-Klausel ist jedoch problematisch, da Sie für jedes Tag ein Duplikat aller Elemente erhalten, das für die Anzahl der Zeilen in LIMIT gilt.