Я думаю, что общий ответ @ Bohemian также может быть записан как объединение, а не подзапрос, хотя, вероятно, это не имеет большого значения:

я есть некоторые данные, отформатированные так:

Lane         Series
1            680
1            685
1            688
2            666
2            425
2            775
...

И я хотел бы получить наибольшую n серий на линию (скажем, 2 для этого примера, но это может быть намного больше)

Таким образом, вывод должен быть:

Lane         Series
1            688
1            685
2            775
2            666

Получить самую высокую серию на полосу легко, но я не могу найти способ получить 2 самых высоких результата.

Я использую агрегатную функцию MAX с GROUP BY, чтобы получить MAX, но нет функции «TOP N», как в SQL Server, и использование ORDER BY ... LIMIT возвращает только самые высокие N результатов в целом, а не на линию.

Поскольку я использую приложение JAVA, я написал код для запроса базы данных и выбора значения N, я мог бы сделать цикл и использовать LIMIT и циклически проходить по каждой линии, каждый раз делая разные запросы, но я хочу узнать, как это сделать. используя MySQL.

Ответы на вопрос(4)

Ваш ответ на вопрос