SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 04.01.2018 16:31:19

Дмитрий79
Участник
Зарегистрирован: 07.08.2016
Сообщений: 15

Поиск множества строк(не одной строки) с максимальным значением

Добрый день!
Есть таблица с полями ID,TEAM_ID,MATCH_NUMBER. Возьмём для простоты 3 команды. Таблица может быть заполнена, например,так:
1 | 1 | 1
2 | 2 | 1
3 | 3 | 1
4 | 1 | 2
5 | 2 | 2
6 | 1 | 3
7 | 3 | 2
8 | 3 | 3
9 | 3 | 4

Нужно получить id тех строк, в которых содержится максимум MATCH_NUMBER для каждой из команд. Т.е. 5,6,9.
В документации:

SELECT ID,TEAM_ID,MATCH_NUMBER FROM my_table WHERE  ID,TEAM_ID,MATCH_NUMBER=(SELECT MAX(MATCH_NUMBER) FROM my_table)

Но это для получения ID только лишь одной строки. А если нужно получить для 1000 строк? В моём примере для простоты только 3.
Как это сделать, непонятно.
Нужна помощь.

P.S. Функция MAX в MySQL ведёт себя очень странно - выбирает ID ПЕРВОЙ записи из набора, а сам максимум может находиться в середине набора. Где логика?

Неактивен

 

#2 04.01.2018 16:33:57

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Поиск множества строк(не одной строки) с максимальным значением

это где вы такую документацию читаете?
по теме посмотрите https://sqlinfo.ru/articles/info/18.html

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson