Как получить данные с лимитом

Есть мой рабочий запрос к базе данных, его я покажу ниже, собственно проблема такая: как мне добавить limit и offset к моему запросу? рабочий запрос :

 const vinyls = await this.vinylRepository.findAll({
      include: [
        {
          model: Review,
          as: 'reviews',
          attributes: [],
        },
      ],
      attributes: {
        include: [
          [Sequelize.fn('AVG', Sequelize.col('reviews.review')), 'avgRating'],
        ],
      },
      raw: true,
      group: ['Vinyl.id'],
    });

Этот запрос отдаёт мне все данные без ошибок. Но если же я добавляю offset/limit вот так , будет ошибка :

  const limit = 10;
  const offset = 10;

  const vinyls = await this.vinylRepository.findAll({
      
      include: [
        {
          model: Review,
          as: 'reviews',
          attributes: [],
        },
      ],
      attributes: {
        include: [
          [Sequelize.fn('AVG', Sequelize.col('reviews.review')), 'avgRating'],
        ],
      },
      raw: true,
      group: ['Vinyl.id'],
      limit,
      offset
    });

Ошибка :

[Nest] 25428 - 04/28/2024, 9:36:11 PM ERROR [ExceptionsHandler] Unknown column 'reviews.review' in 'field list' Error: at Query.run (G:\React\internship_of_leverx\final\node_modules\sequelize\src\dialects\mysql\query.js:46:25)

nestjs/mysql/sequelize


Ответы (1 шт):

Автор решения: PashaFromBY
 const vinyls = await this.vinylRepository.findAll({
  subQuery: false, 
  include: [
    {
      model: Review,
      as: 'reviews',
      attributes: [],
    },
  ],
  attributes: {
    include: [
      [Sequelize.fn('AVG', Sequelize.col('reviews.review')), 'avgRating'],
    ],
  },
  raw: true,
  limit,
  offset,
  group: ['Vinyl.id'],
});
→ Ссылка