В моей таблице есть следующие образцы данных:
ID GRADE
1 54
1 53
1 52
2 78
2 75
2 74
3 43
3 42
3 41
Это получается из запроса: «ВЫБРАТЬ ИДЕНТИФИКАТОР, УРОВЕНЬ ИЗ ТАБЛИЦЫ ORDER BY GRADE DESC;» Идентификатор не является первичным ключом.
Я хочу получить такие данные:
ID GRADE
1 54
2 78
3 43
То есть я хочу получить значение всех записей, которые являются первыми отдельными с точки зрения идентификатора.
Какие-либо предложения?
что ты имеешь в виду?
Порядок строк не гарантируется, если у вас нет поля первичного ключа или даты для сортировки ...
Вам нужно либо добавить третий столбец к своим данным, либо сообщить нам, как вы упорядочили эти данные. Без этой информации термин «первый» будет неоднозначным.
Отредактировано, поле "Оценка" отсортировано по убыванию.
Думаю, вам понадобится этот простой group by
:
select ID, max(GRADE)
from TABLE
group by ID
order by ID
Именно то, что я искал. Я знал, что это было просто. Спасибо!
что определяет «первое» в наборе RDBM?