У меня есть таблица продуктов, связанных с розничным_идентификатором в базе данных 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
Какова логика заказа розничного_идентификатора?
По сути, я стараюсь не придавать ни одному розничному продавцу дополнительный «вес» другому, поэтому я пытаюсь упорядочить результаты по одной строке для каждого розничного продавца, пока они не закончатся. Надеюсь, это объясняет это. Голова застряла, пытаясь что-то сделать слишком долго.
Потому что идентификаторы розничных продавцов от 1 до 5, максимум 5. В полном наборе данных гораздо больше, но для простоты я включил меньший набор данных.
Я думаю, я понимаю, вам нужно ранжировать розничных продавцов, используя row_number - надеюсь, вы используете MySql 8?
Да, я использую MySQL 8 :) у вас есть пример того, что вы имеете в виду случайно? Спасибо за вашу помощь.
Используя 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, поэтому мне придется обновить сервер и попробовать это. Извините, спасибо за ваш ответ.
@WillRoberts отлично работает на MariaDB
Это прекрасно работает @Stu, спасибо.
Где находится «последовательная» часть последовательный?