2010-09-15 84 views
1

我得到的混合日期值的結果,而不是得到每個標題的最後修訂我混合。不同的混合行值?

我正在使用MySQL。

總體思路是退出每個條目的所有行,每個條目的最後一個修訂。

我當前的SQL查詢:

SELECT DISTINCT 
     w.owner_id, 
     w.date, 
     w.title, 
     MAX(w.revision), 
     u.name AS updater 
    FROM wiki_pages AS w 
    JOIN users AS u ON w.owner_id = u.id 
GROUP BY title 
ORDER BY title ASC 

SQL TABLE

回答

1

用途:

SELECT wp.owner_id, 
     wp.date, 
     wp.title, 
     wp.revision, 
     u.name AS updater 
    FROM WIKI_PAGES wp 
    JOIN USERS u ON u.id = wp.owner_id 
    JOIN (SELECT t.title, 
       MAX(t.revision) AS max_rev 
      FROM WIKI_PAGES t 
     GROUP BY t.title) x ON x.title = wp.title 
         AND x.max_rev = wp.revision 

在您的查詢,可以保證的僅僅是標題&修正值最高。其他行不一定相關,因此加入派生表...

+0

非常感謝,你總是幫我xP – 2010-09-15 01:17:40