我有3個表:文章,標籤和article_tag(連接它們的那個)。查詢至少有一個列出的標籤的SQL查詢
我想查找所有包含查詢中列出的一些(或全部)標籤的文章,並按匹配標籤的數量排列。可能嗎?
實例中英文:
Query: Find me all articles that have at least one of these tags "jazz, bass guitar, soul, funk", order them by the number of matched tags.
Output:
Article 1 (jazz, bass-guitar, soul, funk)
Article 2 (jazz, bass-guitar, soul)
Article 3 (jazz, bass-guitar)
Article 4 (funk)
GROUP_CONCAT()。但實際上,DISTINCT不應該是必需的 - 模式應該已經實施了獨特的文章/標籤組合。我要添加的是一個ORDER BY tag_name,所以這個列表可以用alfabetically整齊排序。 – 2010-02-10 23:20:54
是的,架構沒有發佈,所以我不知道它會執行什麼。 – Corey 2010-02-10 23:29:41
謝謝。你犯了一個小錯誤,articles.tag_id應該是WHERE子句中的articles.article_id。但是非常感謝。 – snitko 2010-02-10 23:46:00