MySQL - INNER JOIN - 仅从第二个表中获取最后一个ID

时间:2013-05-15 08:35:09

标签: mysql performance join

我需要查询MySQL数据库中的两个表。 以下是简短概述:2个表:文章和article_logs。我有一些想法,如2700篇文章,每篇文章可以有20到50个日志。 我想为每篇文章显示最后一个日志日期。 问题是查询需要永远执行。

我正在尝试这样的事情:

SELECT articles.id, article_logs.date FROM articles
LEFT JOIN ( SELECT MAX(id), hash_key, date FROM logs GROUP BY id ) c 
ON article.hash_key = c.hash_key

你是否知道如何以适当和有效的方式做到这一点。

非常感谢你。

1 个答案:

答案 0 :(得分:1)

也许你可以尝试这样的事情:

SELECT a.id, 
       (SELECT MAX(l.date)
        FROM logs l
        WHERE l.hash_key = a.hash_key) date
FROM articles a