with cte_order_detail as
(
Select
t.Order_ID,
t.Order_Name,
t.Tag_ID,
t.Order_Placed_Date,
t.Order_Delivery_Date,
row_number() over (partition by t.Tag_ID order by t.Order_ID) as order_row
from Table1 t
)
select
od.Order_ID,
od.Order_Name,
od.Tag_ID,
od.Order_Placed_Date,
od.Order_Delivery_Date
from cte_order_detail od
where od.order_row <= 4
order by od.Tag_ID,
od.Order_ID;
输出:
| ORDER_ID | ORDER_NAME | TAG_ID | ORDER_PLACED_DATE | ORDER_DELIVERY_DATE |
|----------|------------|--------|----------------------|----------------------|
| 101 | PEN | 11243 | 2019-02-14T00:00:00Z | 2019-02-18T00:00:00Z |
| 213 | PEN | 11243 | 2019-01-19T00:00:00Z | 2019-02-28T00:00:00Z |
| 225 | PEN | 11243 | 2019-02-02T00:00:00Z | 2019-02-03T00:00:00Z |
| 280 | PEN | 11243 | 2019-02-04T00:00:00Z | 2019-02-08T00:00:00Z |
| 119 | Eraser | 11348 | 2019-02-05T00:00:00Z | 2019-02-07T00:00:00Z |
| 127 | Eraser | 11348 | 2019-02-05T00:00:00Z | 2019-02-07T00:00:00Z |
| 137 | Eraser | 11348 | 2019-02-05T00:00:00Z | 2019-02-07T00:00:00Z |
| 202 | Eraser | 11348 | 2019-01-09T00:00:00Z | 2019-02-12T00:00:00Z |
| 22 | Pencil | 25489 | 2018-12-29T00:00:00Z | 2018-12-31T00:00:00Z |
| 131 | Pencil | 25489 | 2019-01-07T00:00:00Z | 2019-01-08T00:00:00Z |
| 161 | Pencil | 25489 | 2019-01-02T00:00:00Z | 2019-01-10T00:00:00Z |
| 241 | Pencil | 25489 | 2019-01-11T00:00:00Z | 2019-01-17T00:00:00Z |