cleverok
Новичок
Добрый день, ни как не могу составить запрос на выборку данных, помогите пожалуйста, поиском пользовался, но что то слепить запрос не могу, знаний не хватает, а очень надо.
1. Есть таблица (table1) с достижениями человека, где он раз в месяц сдает норматив и результат - количество баллов заносится в таблицу.
Id | idUser | points | date
—————————————————
1 | 1 | 159.67 | 2019-09-06
2 | 1 | 327.00 | 2019-10-12
3 | 2 | 190.03 | 2019-09-12
4 | 2 | 229.33 | 2019-10-12
5 | 3 | 255.33 | 2019-09-02
6 | 3 | 215.33 | 2019-10-02
2. B есть таблица (table2) с именами пользователей
Id | name
———————
1 | Иванов
2 | Петров
3 | Сидоров
Делаю таблицу рейтинга
Необходимо вывести наилучший результат пользователя:
Делаю так SELECT idUser, MAX(points) AS maxPoints FROM table1 GROUP BY idUser
Запрос выбирает максимальный результат у пользователя и выводит его. Не выходит объединить его со второй таблицей что бы table1.idUser был равен table2.id
Пока делаю через костыль, первый запрос а потом в цикле по idUser вытягиваю данные из БД
Хочу все это объединить в один запрос. Заранее благодарен за помощь.
1. Есть таблица (table1) с достижениями человека, где он раз в месяц сдает норматив и результат - количество баллов заносится в таблицу.
Id | idUser | points | date
—————————————————
1 | 1 | 159.67 | 2019-09-06
2 | 1 | 327.00 | 2019-10-12
3 | 2 | 190.03 | 2019-09-12
4 | 2 | 229.33 | 2019-10-12
5 | 3 | 255.33 | 2019-09-02
6 | 3 | 215.33 | 2019-10-02
2. B есть таблица (table2) с именами пользователей
Id | name
———————
1 | Иванов
2 | Петров
3 | Сидоров
Делаю таблицу рейтинга
Необходимо вывести наилучший результат пользователя:
Делаю так SELECT idUser, MAX(points) AS maxPoints FROM table1 GROUP BY idUser
Запрос выбирает максимальный результат у пользователя и выводит его. Не выходит объединить его со второй таблицей что бы table1.idUser был равен table2.id
Пока делаю через костыль, первый запрос а потом в цикле по idUser вытягиваю данные из БД
Хочу все это объединить в один запрос. Заранее благодарен за помощь.