neluzhin
@neluzhin

Как правильно составить MySQL-запрос?

Здравствуйте! Заранее прошу прощения за размытый заголовок вопроса, не смог сформулировать иначе.

Есть примерно такая таблица:
+----+-----------+----------------------------+
| id | user      | reason                     |
+----+-----------+----------------------------+
|  1 | Tim       | Оскорбление пользователей  |
|  2 | Carl      | Девиантное поведение       |
|  3 | Tim       | Спам                       |
|  4 | John      | Оффтоп                     |
|  5 | John      | Клевета                    |
|  6 | Carl      | И еще какая-то причина     |
+----+-----------+----------------------------+

Подскажите, пожалуйста, как составить MySQL-запрос, чтобы было ORDER BY id DESC и вывелось не более одной записи, принадлежащей каждому пользователю?

Чтобы получилось вот так:
+----+-----------+----------------------------+
| id | user      | reason                     |
+----+-----------+----------------------------+
|  6 | Carl      | И еще какая-то причина     |
|  5 | John      | Клевета                    |
|  3 | Tim       | Спам                       |
+----+-----------+----------------------------+


На всякий случай уточню, что сайт на PHP.

Заранее спасибо.
  • Вопрос задан
  • 179 просмотров
Решения вопроса 1
Если вдруг GROUP BY и ORDER BY не подружатся, то
SELECT * FROM (SELECT * FROM `table` ORDER BY `id` DESC) as `table` GROUP BY `user`;
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Denormalization
@Denormalization
SELECT * FROM `table` ORDER BY `id` DESC GROUP BY `user`;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы