@CenterJoin

Как написать запрос в условии?

Я бы хотел оптимизировать этот запрос.
Структура таблицы
contact_status (id, created_at, contact_id, status )

Таблица contact_status может иметь один и тот же contact_id для многих записей. Соответственно, они все выводятся в результате. Как вывести только последнюю запись для конкретного contact_id?
"Сырой" запрос:
SELECT contact, contact_status
FROM contact
LEFT JOIN contact_status ON contact_status.contact_id = contact.id
WHERE contact_status.status = 'not_authorized'
group by contact.*

Так как я ищу все записи одним запросом, LIMIT 1 хорошо применить только для contact_status таблицы, а не для общего запроса. Вопрос: как?
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
ORDER BY `created_at` DESC
LIMIT 1
Ответ написан
SimBioT19
@SimBioT19
{{ user.about }}
Никаких Order BY не нужно.
Смотри оконные функции.
LAST_VALUE
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы