Как предотвратить повторяющиеся строки столбцов в базе данных MySQL, сохраняя порядок вниз - PullRequest
0 голосов
/ 23 ноября 2018

Как вы можете мне помочь? У меня в базе данных есть таблица со столбцом "recioient_id". Значение ее строк повторяется более одного раза. Как предотвратить повторение строк при сохранении порядка по убыванию и отображении последней строки?Я так много пробовал без поиска, что выполнил этот запрос и был хорош в предотвращении повторения, и не отображал последний запрос строки:

SELECT *
FROM `messages`
WHERE `sender_id` = 1
GROUP BY `recioient_id` DESC
HAVING COUNT(*) >= 1

Вот пример таблицы

https://drive.google.com/file/d/13fmMB_znYUiy-hvfMgai0a_znOIHjcfU/view?usp=sharing

Я надеюсь быть успешным в переводе и надеюсь помочь

1 Ответ

0 голосов
/ 23 ноября 2018

Если вы хотите одну строку на recioient_id, используйте фильтрацию.Я бы порекомендовал коррелированный подзапрос:

SELECT m.*
FROM messages m
WHERE m.sender_id = 1 AND
      m.messages_id = (SELECT MAX(m2.messages_id)
                       FROM messages m2
                       WHERE m2.sender_id = m.sender_id AND
                             m2.recioient_id = m.recioient_id
                      )
ORDER BY m.recioient_id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...