我有一个itemlocation表,如下所示:
item address date
a x 1
b x 1
a y 2
b y 2
...
我想返回的结果集
item address date
a x 1
b x 1
其中它包括按日期排序的 * 第一个 * 地址组中的所有项目。
我看到了类似于rownum的东西,但它是针对组中的第一个,而不是表的第一个组。类似于:
select * from (select * from itemlocation group by address order by date) where group_number <= 1;
我如何才能做到这一点?
1条答案
按热度按时间7qhs6swi1#
我们使用
rank()
查找所有日期最早的行,然后按rnk_dte = 1
进行过滤| 项目|地址|日期|
| - -|- -|- -|
| 一种|X射线|一个|
| B| X射线|一个|
Fiddle