MySQL 데이터베이스에서 두 테이블을 쿼리해야합니다. 다음은 간단한 개요입니다 : 2 개의 테이블 : articles 및 article_logs. 나는 2700 개의 기사와 같은 생각을 가지고 있으며 각 기사는 20에서 50 개의 로그를 가질 수 있습니다. 각 기사의 마지막 로그 날짜를 표시하고 싶습니다. 문제는 쿼리를 실행하는 데 오래 걸리는 것입니다.MySQL - INNER JOIN - 두 번째 테이블의 마지막 ID 만 가져옵니다.
나는 그런 식으로 뭔가를 시도하고있다 :
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의 예비 키워드가 너무'\'' – diEcho
함께 id'에 의해'최대 (ID)'와'그룹을 사용하여 그것을 포장입니다 말이되지 않습니다. 그리고 다른 DBMS는이 부정확 한'group by '사용법을 단순히 거부 할 것이다. –
@diEcho, 날짜가 예제 일뿐입니다. 테이블의 이름은 log_date입니다 ... 감사합니다. –