MySQL упорядочение строк по - PullRequest
0 голосов
/ 13 октября 2018

Я пытаюсь получить данные из моих таблиц forum_topics и forum_replies, чтобы получить дату последнего ответа;

SELECT 
    (SELECT date FROM forum_replies WHERE topic=5 AND date < NOW()
    ORDER BY id DESC LIMIT 1) as lastreply, 
    ft.* FROM forum_topics ft
    ORDER by lastreply DESC LIMIT 5

Он получает данные lastreply в наборе записей, но не используетэто ЗАКАЗАТЬ строки набора записей.

Я понимаю почему, но не уверен, как это исправить?

1 Ответ

0 голосов
/ 13 октября 2018

Вы должны использовать коррелированный подзапрос:

SELECT 
    (SELECT r.date FROM forum_replies r WHERE ft.topic = r.topic
    ORDER BY r.id DESC LIMIT 1) as lastreply, 
    ft.* 
FROM forum_topics ft
ORDER by lastreply DESC LIMIT 5
...