我有一個存儲在類別中的文章數據庫。對於我的主頁,我想抓住每個類別的一篇文章(我不關心哪一個)。但是,一些文章被交叉分到多個類別,所以他們出現了兩次。MySQL:從每個類別中抓取一行,但刪除在多個類別中發佈的重複行
我有一個名爲tblReview的文章字段(reviewID,標題,reviewText)和一個名爲tblWebsiteContent的表,它告訴網站哪些類別的文章(id,reviewID,categoryID),最後是一個名爲tblCategories的表(categoryID,categoryName)存儲類別。
我的查詢基本上加入這些表並使用GROUP BY tblCategory.categoryID。如果我嘗試在GROUP BY語句中添加'tblReview.reviewID',我最終會得到數百篇文章,而不是22(我擁有的類別數)。
我有一種感覺,這需要一個子查詢,但我的測試工作沒有奏效(不知道哪個查詢需要包含我的連接/字段列表/ where子句等)。
謝謝!
馬特
我不得不修改查詢來獲取它運行: SELECT T.categoryName,tR.headline,tR.reviewText FROM(SELECT tC.categoryName,MAX(tR1.reviewID)reviewID FROM tblReview tR1的加入tblWebsiteContent TWC在tR1.reviewID = tWC.reviewID 加入tblCategory的tC在tC.categoryID = tWC.categoryID GROUP BY tC.categoryName)筆 JOIN tblReview TR上tR.reviewID = T.reviewID 它仍然不過返回重複reviewID值! :(謝謝你 – 2009-09-21 15:38:05
對不起格式化,不知道如何格式化代碼在這個網站上,並找不到它的幫助頁面...本質上,我只是改變了最後一行加入 - 這是正確的嗎? – 2009-09-21 15:39:45
對,我修正了這個問題 – manji 2009-09-21 15:54:24