2010-09-15 86 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