Выборка из двух таблиц максимальных и уникальных значений - MySQL

Узнай цену своей работы

Формулировка задачи:

Друзья, здравствуйте! Бешусь с этой проблемой несколько дней. Что мне нужно: Есть две таблицы (они на скриншоте). Нужно выбрать МАКСИМАЛЬНЫЕ значения поля reat и УНИКАЛЬНЫЕ значение поля iduser из таблиц user и reating. Поле iduser в таблицы reating, - это ключи из таблицы user поля id. То есть идея такая, что бы каждому пользователю соответствовал максимальный его результат, а остальные отбрасывались. В общем мне нужна на выходе такая таблица: Подскажите пожалуйста, какой запрос нужно выполнить, чтобы объединить эти таблицы и получить на выходе то, что мне нужно?

Решение задачи: «Выборка из двух таблиц максимальных и уникальных значений»

textual
Листинг программы
SELECT u.id, t.tm 'время', t.reat 'рейтинг', concat(u.name, ' ', u.surnm) 'пользователь' 
FROM usr u 
JOIN (
  SELECT a.reat reat, a.tm, a.iduser 
  FROM reating a
  RIGHT JOIN (
    SELECT r.iduser, MAX(r.reat) rate
    FROM reating r
    GROUP BY r.iduser
  ) b ON b.iduser = a.iduser AND b.rate = a.reat
) t ON t.iduser = u.id;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.6 из 5