Maks
Типо 1-5 это айди или это то самое поле?
Maks
Просто хочу тебя на мысли навести
Maks
1-5
??)
Funny
Думаю🤔
Funny
Мои мысли начали проявляться на бумаге
Funny
В надежде осознать всю полноту задумки)))
Funny
Мое предположение сейчас заключается в сортировке и по id и по полю
Funny
Вроде так даже не ломается, а ты меня на это хотел навести?
Maks
Если тебе нужно взять 5 определенных, то ты селектишь их и потом сортируешь. А если тебе нужно взять из бд 5 в порядке сортировки, то ты сначала сортируешь в бд, чисто по полю сортировки, и потом берешь первые 5
Maks
Сортировать по айди нет смысла
Maks
Опиши задачу
Maks
Что бы можно было предложить решение и сказать почему
Funny
Пагинация: на одной странице должно присутствовать 5 объявлений; Cортировки: по чему-то (возрастание/убывание) и чему-то (возрастание/убывание);
Funny
Это описание метода одного маршрута
Funny
Как можно взять только 5 элементов из базы данных и потом их отсортировать? 🥺
Emil
Как можно взять только 5 элементов из базы данных и потом их отсортировать? 🥺
Я бы предложил взять эти пять из базы и сортировать уже на севере (не средствами базы данных). Колхозно, но по крайней мере дожен быть ожидаемый результат)
Funny
Да я об этом тоже думал, но это уже прям крайний костыльный случай
Funny
Он у меня припасен на тот момент, когда я уже буду плакать, а гугл меня стебать будет
Funny
Emil
В базах же есть "временные таблицы". Точно не помню, но если выделить результат выбора 5 элементов в нее и там провести сортировку, сработает?
Funny
Вот и день прошел не зря, узнал новый термин. Щас узнаю что это и потом попробую)))
Emil
Я термин на память вероятно придумал, но такой функционал есть)
Олег
Всем привет, ребят можно кого-нибудь попросить сделать кодревью?
Олег
https://github.com/evolcon/lika_queue
Олег
Ато нет среди знакомых сеньоров кто знал бы го(
Emil
Именно так, View называются.
Точно, знакомо звучит)
Maks
Пагинация это когда у тебя на странице n элементов. Эти элементы берутся из бд. Айди не сортируют обычно
Maks
Эти n элементов либо идут подряд
Maks
Либо сортируются по одному двум или трем полям
Maks
Если например ты хочешь отсортировать объявления по дате редактирования, то ты не сможешь вывести 5 последних отредактированных, если не отсортируешь все значения в таблце
Maks
Тебе нужно либо отсортировать на уровне бд и взять 5, либо взять все и отсортировать их уже в программе
Maks
Но тогда у тебя не будет хватать оперативы
Maks
В какой то момент
Maks
И это будет не оптимально
Funny
Ох чувствую скоро костыли подьедут((((
Funny
Но огромное спасибо, а то у меня уже мысли появлялись почему я не могу загуглить, я что глупый(((
Maks
Это не костыли это нормальные решения. Сортировка на уровне бд. Ты просто сам не знаешь что тебе надо
Funny
нет костыль это взять и уже в проге ее сортировать
Funny
Maks
Тогда у тебя будет ошибка
Maks
Даю пример
Maks
В бд 5 записей. Id, имя, возраст 1, вася, 20 2, петя 19 3, вася, 19 4, коля, 20 5, вова, 33 Я тебе говорю дай мне 3 самых молодых и отсортируй их по имени еще
Maks
Как ты мне отдашь результат, с учетом того что данные в базе могут меняться? Не сортируя данные в таблице
Vladyslav
https://github.com/evolcon/lika_queue
Я сам себе главный разработчик и тоже некому проревьюить 😂 Но не так давно наткнулся на этот канал https://youtube.com/c/JustForFunc Там есть видео, где он ревьюит чужой код, я много косяков у себя нашёл и это только то, что я нашёл😅 жаль только перестал делать видео Если верить LinkedIn, то автор прям крутой)
Vladyslav
Может будет полезно)
Funny
Может я тебя не правильно понял, но если проводить аналогию, то твой пример должен был выглядеть примерно так "... дай мне 3 и отсортеруй их уже" просто это похоже на тз которое я скидывал. А вот если твой пример рассматривать тогда да, там только сортировка
Funny
Просто первый 3 в базе
Funny
в базе данный допустим 100 элементов
Maks
А зачем тебе просто первые 3.
Maks
Точнее зачем их потом сортировать
Maks
Представь себя пользователем.
Emil
Первые три это сортировка либо по айди либо по времени создания У нас получается две сортировки в сумме
Funny
Ох да простит меня бог авито, но это уже дело принципа
Maks
Вот пользователь получил первые 3 записи.
Funny
Представь что у тебя есть обьявления и у них есть цена и дата
Maks
Они отсортированны по имени
Maks
Окей давай
Maks
Представил
Maks
В бд 100 записей.
Funny
вот эти обьявления берутся из базы данных по три
Maks
Берем первые 3 и сортируем их. Вопрос как?
Funny
если ты захотел новый то ты переходишь на другую страницу и можешь уже там смотреть
Maks
На первой странице я вижу 3 первых объявление отсортированных например по цене верно?
Funny
Берем первые 3 и сортируем их. Вопрос как?
Вот это и есть боль, которая меня приследует
Funny
Ну ты можешь сам как их сортировать
Maks
И у них цена 100, 300 и 250. Отсортировали получили 100, 250, 300
Funny
Да именно так
Maks
Дальше я перехожу на вторую страницу а там цены 90, 200, 270 (после сортировки)
Maks
Удобно?
Maks
Логично?
Funny
Почему, все не так предполагалось
Maks
А как?
Funny
select price from something limit 5 offset page * 5
Maks
Ну да, вот первые 5 имеют одну цену(в моем примере лимит 3 для простоты)
Maks
То есть первую страницу я описал верно