Given a SCHEMA for implementing tags
ITEM ItemId, ItemContent
TAG TagId, TagName
ITEM_TAG ItemId, TagId
What is the best way to limit the number
You could also use Distinct/Group By:
SELECT DISTINCT TagID, TagName FROM ((TAG T INNER JOIN ITEM_TAG I_T ON T.TagID = I_T.TagID) INNER JOIN ITEM I ON I_T.ItemID = I.ItemID) GROUP BY TagID, TagName