За последние 24 часа нас посетили 20792 программиста и 1667 роботов. Сейчас ищут 1235 программистов ...

Запрос. Users+comments. Вывести пользователей и их последний комментарий

Тема в разделе "MySQL", создана пользователем SpikePHP, 7 окт 2021.

  1. SpikePHP

    SpikePHP Активный пользователь

    С нами с:
    6 май 2015
    Сообщения:
    130
    Симпатии:
    23
    Здравствуйте. Не получается запрос придумать.
    Есть таблицы (users, comments):
    Users
    -id
    -name

    Comments
    -id
    -text
    -user_id
    -created_at

    С помощью запроса
    Код (Text):
    1. SELECT
    2.     users.id as user_id, name, comments.id as comment_id,
    3.     text, comments.created_at
    4. FROM `users`
    5. INNER JOIN `comments` on `users`.`id` = `comments`.`user_id`
    6. ORDER BY `users`.`id` ASC, `comments`.`created_at` DESC;
    Получилось вывести список пользователей и их все комментарии:
    [​IMG]

    Но мне нужно вывести список пользователей и их последний комментарий
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.860
    Симпатии:
    750
    Адрес:
    Татарстан
  3. SpikePHP

    SpikePHP Активный пользователь

    С нами с:
    6 май 2015
    Сообщения:
    130
    Симпатии:
    23
    Спасибо. Ваша ссылка очень помогла.

    Запрос получился :

    Код (Text):
    1. SELECT
    2.     id, name,
    3.     (SELECT SUBSTR(MAX(CONCAT(created_at, text)), 20) FROM comments WHERE user_id = users.id GROUP BY user_id) AS last_comment_text
    4. FROM
    5.     users;
    Результат:
    [​IMG]