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

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

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

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

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

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

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут