Я собираюсь использовать предложение group by
... max()
.
Я использую Informix версии 10.
Это пример таблицы: table_a
col_a col_b col_c
1 20181010 3
1 20181030 4
Я хочу получить данные с недавней датой.
Я хочу результат:
col_a col_b col_c
1 20181030 4
Когда я использую этот запрос
#query 1: select col_a, max(col_b), col_c from table_a group by col_a
#result : The column (col_c) must be in the GROUP BY list.
#query 2: select col_a, max(col_b), col_c from table_a group by col_a, col_c
#result :
col_a col_b col_c
1 20181010 3
1 20181030 4
Я думаю, я могу использовать MS SQL row_num(partition by col_b)
? но
Informix версии 10 не может использовать row_num
...
Итак, я использую запрос соединения
select a.col_a,a.col_b,a.col_c from table_a a
inner join (select col_a, max(col_b) as col_b from table_a group by col_a) b
on a.col_a = b.col_a and a.col_b = b.col_b
Я получил желаемые результаты.
Есть ли способ использовать объединение?