Проект на node.js, использую orm sequelize версии 6, пакет mysql2, ну и база mysql версии 8.0.30. Создаю модель главной таблицы Post, и модель под таблицы Goal. Связываю их . Заполняю данными. у таблицы Goal пусть будет колонка price и там будут цифровые значения (разные). Затем делаю запрос в базу findAndCountAll (чтобы и count получить тоже надо), с include Goal, чтобы получить Данные постов и с столбцом goal, у которого колонка price . И всего-то на всего нужно получить все посты отсортировав DESC по колонке price в таблице Goal. Только нужно, эти посты получать к примеру по 10 штук за запрос , (то есть указывать настройку limit и offset) и чтобы оно сортировалось глобально, то есть чтобы в первой десятке были наибольшие цены и дальше по нисходящей . Я просидел почти 5 дней, и у меня не получилось сделать этот элементарный момент на первый взгляд . Просьба если вам интересен этот вопрос, потратить 3-5 мин и сделать у себя, и посмотреть, получиться ли у вас отсортировать так или нет? Потому-что советы на скорую руку я уже получал, и испробовал их десятки. И ничего не получилось (хотя по логике не сложная задача). Если возможно вопросы будут по примеру, на все отвечу.
(но когда я гружу на сервер, OC Ubuntu 20.04 и база mysql ). С таким кодом вылазит такой прикол , что мне приходят к примеру первые 10 офферов , и когда я шлю прислать мне след 10, то мне дублирует десятый оффер из первого запроса, во второй на первое место. Ну вообщем тупо дублирует офферы почему-то иногда . Локально у меня такой ошибки нет, я потестил, и такую проблему вызывает именно момент с (SELECT MAX(`goals`.`filtered_currency`) FROM `goals` WHERE `goals`.`offerId` = `offer`.`id`) . И я пытаюсь переписать сортировку, но ничего не выходит. (Считаю, что я где-то нагрешил в жизни, и мне мстят просто =( )
Alexey10, на счёт запроса findAndCountAll - сомневаюсь что тут атрибуты работают, так как там идёт подсчёт тупо и всё, тут работают только фильтры, и offset , limit
так же прими версию вопроса
на сколько я понял из вопроса, это то что твоя проблема в том что ты запихал всё в один запрос хотя толку от этого, нужно просто найти сначала Offer по id например, и на основе этого офера, получить все Goal - отсортировав их а так же задать лимит