【发布时间】:2013-05-15 08:35:09
【问题描述】:
我需要查询我的 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
您是否知道如何以适当和有效的方式做到这一点。
非常感谢您。
【问题讨论】:
-
提示:
date是 MySQL 保留关键字,所以用`包装它 -
同时使用
max(id)和group by id没有意义。任何其他 DBMS 都会简单地拒绝这种不正确的group by用法。 -
@diEcho,日期只是一个例子,在我的表中,字段的名称是 log_date...谢谢你。
-
@diEcho
date可以用put backtick,MySQL Reserved Keywords List见页面最后部分
标签: mysql performance join