Задать вопрос
@oldzas

Как из другой таблицы выбрать последние три записи?

Есть 2 таблицы: юзеры и посты.
Как выбрать всех юзеров и вывести у каждого из них по три последних поста (без подзапроса)?

Я сджойнил 2 таблицы и застрял - как выбрать по 3 последних поста?
  • Вопрос задан
  • 140 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Stepik
    PRO C#. Базы данных
    2 месяца
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Java-разработчик + ИИ
    9 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
WITH `cte` AS (
  SELECT *, ROW_NUMBER() OVER `w` AS `row_num`
    FROM `posts`
    WINDOW `w` AS (
      PARTITION BY `user_id`
      ORDER BY `time` DESC
    )
) SELECT *
  FROM `cte`
  JOIN `users` ON `users`.`id` = `cte`.`user_id`
  WHERE `cte`.`row_num` <= 3
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы