SQL: Как выбрать строки из таблицы, игнорируя повторяющиеся значения полей?

Как выбрать строки из таблицы, игнорируя повторяющиеся значения полей?

Вот пример:

id          user_id          message

1           Adam             "Adam is here."
2           Peter            "Hi there this is Peter."
3           Peter            "I am getting sick."
4           Josh             "Oh, snap. I'm on a boat!"
5           Tom              "This show is great."
6           Laura            "Textmate rocks."

Я хочу добиться, чтобы выбрать недавно активных пользователей из моей базы данных. Допустим, я хочу выбрать 5 недавно активных пользователей. Проблема в том, что следующий сценарий выбирает Питера дважды.

mysql_query("SELECT * FROM messages ORDER BY id DESC LIMIT 5 ");

Я хочу пропустить строку, когда она снова попадет в Питер, и выбрать следующий результат, в нашем случае Адам. Поэтому я не хочу показывать своим посетителям, что в последнее время активными пользователями были Лаура, Том, Джош, Питер и снова Питер. Это не имеет никакого смысла, вместо этого я хочу показать их так: Лора, Том, Джош, Питер (пропуская Питера) и Адам.

Можно ли использовать SQL-команду для решения этой проблемы?

12
задан Maxxon 13 January 2011 в 16:59
поделиться