2014-07-15 3 views
0

Есть ли способ запросить таблицу таким образом, чтобы получить максимальные значения для значения EACH x? Как и в ... скажем, в таблице есть два столбца. Назовите его x и y. Есть ли способ получить MAX (Y) для КАЖДОГО X? Так что если х повторяетSQL max значение Y для каждого отдельного X

X    Y 
    1    6 
    1    7 
    1    8 
    1    8 
    1    8 
    1    9 
    2    5 
    2    5 
    2    5 
    2    4 
    2    5 
    3    3 
    3    4 
    3    6 
    4    2 
    4    4 
    4    5 
    5    2 
    5    1 
    5    5 

запрос будет получить наибольшее значение у при й = 1, самом высоком у значения при й = 2, и так далее?

ответ

2

Только группа по столбцу, который должен быть отличным. Тогда все агрегатные функции, такие как max() применяются к каждой группе

select x, max(y) as max_y 
from your_table 
group by x 
1

Попробуйте это:

select X, MAX(Y) 
from my_table 
group by X 
order by X; 

Это получает MAX Y для каждого значения X.

Смежные вопросы