Мне нужно запросить две таблицы в моей базе данных MySQL. Вот краткий обзор: 2 таблицы: статьи и статьи. У меня есть примерно 2700 статей, и каждая статья может содержать от 20 до 50 журналов. Я хотел бы отобразить для каждой статьи дату последнего журнала. Проблема заключается в том, что запрос выполняется навсегда для выполнения.MySQL - INNER JOIN - взять только последний идентификатор из второй таблицы
Я пытаюсь что-нибудь подобное:
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' вместе не имеет смысла. И любая другая СУБД просто отвергает это неправильное использование «group by». –
@ diEcho, дата была только в качестве примера, в моей таблице имя поля - log_date ... Спасибо за это. –