Закажите данные MySQL, если у меня есть только идентификаторы - PullRequest
0 голосов
/ 22 февраля 2019

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

> show columns from Likes;
+---------+------------------+------+-----+---------+-------+
| Field   | Type             | Null | Key | Default | Extra |
+---------+------------------+------+-----+---------+-------+
| id_user | int(10) unsigned | NO   | PRI | NULL    |       |
| id_pic  | int(10) unsigned | NO   | PRI | NULL    |       |
+---------+------------------+------+-----+---------+-------+

Мой вопрос такой... если я выберу идентификатор определенного пользователя, есть ли возможность упорядочить его id_pic к тому моменту, когда они были вставлены?

Я имею в виду, если я вставлю значения (id_user,id_pic):

1,1
1,3
1,6
1,2

Как я могу получить значения id_pic для пользователя 1 в обратном порядке по мере их вставки?(Если это возможно ..)

Спасибо!


РЕДАКТИРОВАТЬ: я знаю, что если у меня есть идентификатор для таблицы, я мог бы заказать по этому идентификатору, но я не допускаетсяизменить структуру таблицы: (

1 Ответ

0 голосов
/ 22 февраля 2019

Вы можете использовать следующее, используя ROW_NUMBER и ORDER BY:

SELECT *
FROM likes 
ORDER BY id_user ASC, ROW_NUMBER() OVER (PARTITION BY id_user) DESC;

демо на dbfiddle.uk

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...