Последовательный заказ из запроса mysql

У меня есть таблица продуктов, связанных с розничным_идентификатором в базе данных MySQL, и я хотел бы выполнить поиск в этой таблице по ключевому слову в поле заголовка, но я хотел бы вернуть элементы в последовательном шаблоне, используя розничный_идентификатор.

Выдергиваю волосы с этим, но в основном то, что я хочу сделать, это следующее: -

заглавиерозничный_id
красное платье1
красное платье1
красное платье2
красное платье3
красное платье5
красное платье4
красное платье4
красное платье3
красное платье3
красное платье4

Я хочу найти красное платье, которое покажет все результаты, но затем я хочу последовательно упорядочить по розничному продавцу_id, чтобы окончательный вывод был: -

заглавиерозничный_id
красное платье1
красное платье2
красное платье3
красное платье4
красное платье5
красное платье1
красное платье3
красное платье4
красное платье3
красное платье4

Заранее благодарю за любую помощь

Где находится «последовательная» часть последовательный?

Stu 04.05.2022 21:02

Извини? Не понимаю тебя @Stu

Will Roberts 04.05.2022 21:04

Какова логика заказа розничного_идентификатора?

Stu 04.05.2022 21:06

По сути, я стараюсь не придавать ни одному розничному продавцу дополнительный «вес» другому, поэтому я пытаюсь упорядочить результаты по одной строке для каждого розничного продавца, пока они не закончатся. Надеюсь, это объясняет это. Голова застряла, пытаясь что-то сделать слишком долго.

Will Roberts 04.05.2022 21:08

Потому что идентификаторы розничных продавцов от 1 до 5, максимум 5. В полном наборе данных гораздо больше, но для простоты я включил меньший набор данных.

Will Roberts 04.05.2022 21:13

Я думаю, я понимаю, вам нужно ранжировать розничных продавцов, используя row_number - надеюсь, вы используете MySql 8?

Stu 04.05.2022 21:16

Да, я использую MySQL 8 :) у вас есть пример того, что вы имеете в виду случайно? Спасибо за вашу помощь.

Will Roberts 04.05.2022 21:18
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
1
7
18
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используя row_number, вы можете ранжировать каждый идентификатор розничного продавца и упорядочивать его следующим образом:

select retailer_id 
from (
    select *, Row_Number() over(partition by retailer_id order by retailer_id) rnk
    from t
)t
order by rnk, retailer_id;

Только что увидел, что сервер, на котором он находится, — это MariaDB, поэтому мне придется обновить сервер и попробовать это. Извините, спасибо за ваш ответ.

Will Roberts 04.05.2022 22:02

@WillRoberts отлично работает на MariaDB

Stu 04.05.2022 22:04

Это прекрасно работает @Stu, спасибо.

Will Roberts 04.05.2022 23:26

Другие вопросы по теме