【发布时间】:2016-09-28 09:49:52
【问题描述】:
我刚刚在查询中发现了这个问题:(对不起,我会尽量简化表定义并缩短细节。如果您需要更多,请告诉我)。
我有一张(ID, date, status) 的桌子。 ID 是 FK,date 是日期,status 是介于 1 和 5 之间的 int 值。 date 和 status 都允许空值。也允许重复值。
我需要什么:
为每个ID、min(date) 提取一行,状态为1 或2,min(date) 的status 为2(仅限),max(status)...
我完全迷失了......我正在尝试使用
SELECT
ID,
min(date) over (partition by(status)) ?? as min_12_date,
min(date) over (partition by(status)) ?? as min_2_date,
max(status) as max_status
FROM table
group by ID
所以,问题是:这是正确的吗?如何只选择我想要的status?
【问题讨论】:
标签: sql oracle oracle10g window-functions