Sql 选择第一个订单在线的合作伙伴

Sql 选择第一个订单在线的合作伙伴,sql,sql-server,Sql,Sql Server,我喜欢选择合作伙伴,第一个订单是在线的。合作伙伴可以有更多订单-因此,如果第一个订单处于脱机状态,而第二个订单处于联机状态,则不应选择合作伙伴。我试过这样做,但不起作用:小麦错了 select partnernr from new_table Where orderdate = MIN(orderdate) and ordertype != 'online' group by partnernr 我想你错过了一个好机会。试一试 select partnernr from new_tabl

我喜欢选择合作伙伴,第一个订单是在线的。合作伙伴可以有更多订单-因此,如果第一个订单处于脱机状态,而第二个订单处于联机状态,则不应选择合作伙伴。我试过这样做,但不起作用:小麦错了

select partnernr from new_table Where orderdate = MIN(orderdate) and ordertype != 'online' group by partnernr 

我想你错过了一个好机会。试一试

  select partnernr from new_table 
  Where orderdate = MIN(orderdate) and ordertype != 'online' group by partnernr 
试试这个:

select partnernr from (
select partnernr, ordertype,
       row_number() over (partition by partnernr order by orderdate) [rn]
from new_table
) a where ordertype = 'online' and rn = 1

是的-我错过了它(并且已经更正了),但是它对我来说似乎不起作用:但是你忘了什么吗?从CTE中选择*,其中Ordertype='online'和orderdate=minDate?CTE只包含MinDates。无需再次筛选。请尝试并返回结果给我。我们将提出相同的解决方案。您的速度快了一点:)+1这不起作用-他应该从哪里获取ordertype?但是您只从内部select->中的new_表中选择partnernr和rn,因此没有名为ordertype的列anymore@AbsoluteBeginner你是对的。。。尝试更新的查询:)
select partnernr from (
select partnernr, ordertype,
       row_number() over (partition by partnernr order by orderdate) [rn]
from new_table
) a where ordertype = 'online' and rn = 1