Sql server T sql按查找相同的值和顺序

Sql server T sql按查找相同的值和顺序,sql-server,Sql Server,我的表Customer包含以下列: sales_ID varchar(50) product_ID int ProcessNumber int CreateDate datetime 以下是示例数据: sales_Id product_id ProcessNumber --------------------------------------------- 00000020041 1733 15 00000020041 173

我的表
Customer
包含以下列:

sales_ID varchar(50)
product_ID int
ProcessNumber int
CreateDate datetime
以下是示例数据:

sales_Id       product_id    ProcessNumber
---------------------------------------------  
00000020041       1733           15
00000020041       1733           15    
00000020041       1733           15
问题:

如果我使用这个查询

select * 
from 
    (select 
        *,
        row_number() over(PARTITION BY sales_Id, product_ID, ProcessNumber
                          ORDER BY xdate) rown
     from Customer) tbl 
where 
     rown > 1 
order by 
     sales_ID
结果:

1. 00000020041      1733       15
但我希望查询显示此结果

 1. 00000020041      1733       15
 2. 00000020041      1733       15
 3. 00000020041      1733       15
根据选择所有重复值(2行、3行、4行…)在我的查询中更改哪些内容?

行数()更改为
计数(*)更改为()

SELECT  *
FROM    (   SELECT  *,
                    CountOfRowsInGroup = COUNT(*) OVER (
                        PARTITION BY sales_Id,product_ID,ProcessNumber)
            FROM    Customer
        ) AS tbl
WHERE   CountOfRowsInGroup > 1
ORDER BY Sales_ID;

这将返回所有重复的

查找秩和密集秩。我最好重写一下,因为这是误导性的:如果你有3个重复的排名记录,可能编号为1,1,1,4,5,6等。如果你有3个重复的密集排名,你会得到1,1,1,2,3,4等