我将使用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
我认为我可以使用row_num(partition by col_b)
的MS SQL吗?但
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
我得到了想要的结果。
是否可以使用联接?