在重复记录中需要一个记录



这是表:

活动表

|Place of order|Order NR  | Nr of activity|type of activity| Date of activity|
|01            |1         | 00001         |      1         | Date1           |
|01            |1         | 00002         |      1         | Date1           |
|01            |1         | 00003         |      2         | Date2           |
|02            |1         | 00001         |      1         | Date9           |
|01            |2         | 00001         |      1         | Date4           |
|01            |2         | 00003         |      2         | Date5           |
|01            |2         | 00002         |      3         | Date3           |
|02            |2         | 00001         |      1         | Date10          |
|02            |2         | 00006         |      2         | Date11          |
|02            |2         | 00018         |      2         | Date11          |
|02            |1         | 00002         |      2         | Date1           |

订单和订单编号的地点必须为独特性, Activity Type 1 is order placed;Activity Type 2 is order dispatched在这种情况下,还有其他活动并不有趣。

存在错误(不知道它是怎么发生的)。对于几个订单(订单和订单NR。

我正在尝试获得每个顺序的活动1和类型2的日期,以及订单和订单NR的地点。

结果应该看起来像:

对于下达订单:

|Place of order|Order NR  | Nr of activity|type of activity| Date of activity|
|01            |1         | 00001         |      1         | Date1           |
|02            |1         | 00001         |      1         | Date9           |
|01            |2         | 00001         |      1         | Date4           |
|02            |2         | 00001         |      1         | Date10          |

用于排出订单:

|Place of order|Order NR  | Nr of activity|type of activity| Date of activity|
|01            |1         | 00003         |      2         | Date2           |
|02            |1         | 00002         |      2         | Date12          |
|01            |2         | 00002         |      2         | Date5           |
|02            |2         | 00006         |      2         | Date11          |

我不知道如何从结果中排除重复项。这意味着我只需要一行(最低活动编号的行)。

请尝试:

  ;with cte as(
    select rank() over(order by [Nr of activity] ) as rid , * from TableName
    ) select * from cte where rid=1

相关内容

  • 没有找到相关文章

最新更新