如何创建新列以在SQL

问题描述

我只想获取代表从1开始的客户订单行的新列。我已经根据购买日期列出了一行。我只想计算所有买家的订单。例如1-2-3-4。如果新的买家ID到来,它将再次返回1并从1开始计数。

我想要的输出是这样的

**buyerid** /  **orderid** / **purchase_date** / **new_column**
1-----------100------01-01-2020--------1
2-----------205------14-01-2020--------1
2-----------245------05-02-2020--------2
2-----------289------13-06-2020--------3
3-----------404------02-03-2019--------1
3-----------508------05-07-2020--------2

谢谢

解决方法

您正在寻找row_number()

select t.*,row_number() over (partition by buyer_id order by order_id)
from t;