我有一张表:
KEY CUST# WAREHOUSE ERRORMESSAGE
1 111 OH Carton Error
2 222 KY Ship Error
3 111 OH Ship Error
4 111 KY Ship Error
5 333 KY Invalid Customer
我想添加一列,提供具有相同客户编号的行总数。因此,对于我们的示例表,我们将:
KEY CUST# WAREHOUSE ERRORMESSAGE CUSTCOUNT
1 111 OH Carton Error 3
2 222 KY Ship Error 1
3 111 OH Ship Error 3
4 111 KY Ship Error 3
5 333 KY Invalid Customer 1
有人能指出我正确的方向来实现这一目标吗?非常感谢你的时间。
答案 0 :(得分:1)
您可以使用OVER
子句:
SELECT *,
COUNT(*) OVER(PARTITION BY [CUST#]) CUSTCOUNT
FROM dbo.YourTable
答案 1 :(得分:0)
我认为这不是好设计,因为每次插入行都需要更新。相反,您应该在查询中使用它。