Как использовать group by в Informix? - PullRequest
0 голосов
/ 30 октября 2018

Я собираюсь использовать предложение 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 

Я получил желаемые результаты.

Есть ли способ использовать объединение?

...