Вывести данные mysql без дублей.

Компьютеры программирование php MySQL базы данных

Суть.
Нужно из таблицы, ну допустим messages вывести данные
chat_id, text, user , но так, чтобы данные вывелись без повторов chat_id, при этом была сортировка по убыванию по полю guid

Пробовал сделать так,
SELECT DISTINCT(chat_id), text, user , chat_id FROM messages WHERE chat_id IN (1, 2, 3, 4, 10, 20) ORDER BY guid DESC

Но все равно все дубли выводятся.
Может кто подскажет, как сделать, чтобы выводились нужные мне данные, при этом не выводились дубли с chat_id и сортировка была по убыванию из поля guid ?

Примечание:
Цель?
Если диалоги чатов, нужно по каждому из диалогу, которые в WHERE chat_id IN (1, 2, 3, 4, 10, 20)
Вывести последнее сообщение.
Ответы:
Насколько я понял guid и text это уникальный идентификатор и сам текст сообщения. Если так, то не получится вывести chat_id без дублей.
Чтоб chat_id не дублировался:
SELECT DISTINCT user , chat_id FROM messages  WHERE chat_id IN (1, 2, 3, 4, 10, 20)
SELECT chat_id
   , text, user
   , chat_id
FROM messages  
WHERE chat_id IN (1, 2, 3, 4, 10, 20)
GROUP BY guid DESC


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.