SQL 查詢:多個標籤的高效交集
使用分配給內容的標籤表時,通常需要識別內容匹配特定的標籤組合。使用嵌套子查詢的簡單方法很快就會變得難以處理多個標籤。
為了有效地實現這種交集,我們可以利用以下SQL 查詢:
SELECT contentID FROM tags WHERE tagID in (334, 338, 342) GROUP BY contentID HAVING COUNT(DISTINCT tagID) = 3;
解釋:
透過用參數化清單取代特定標籤ID 並調整HAVING子句中的計數,此查詢可概括為任意數量的標籤:
SELECT contentID FROM tags WHERE tagID in (...) --taglist GROUP BY contentID HAVING COUNT(DISTINCT tagID) = ... --tagcount;
這種最佳化的方法提供了一個強大的解決方案,可以有效地查找表中多個標籤的交集。
以上是如何在SQL中有效率地尋找符合多個標籤的內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!