这是我的表我需要两个以上的名字将出现在我的查询中我使用计数,但名称timur有差异公司所以它不能算作1我需要算作2
Name ID Company Name CompanyID Role Name Ahmed 73 King & Spalding 55 Counsel Timur 78 Chance CIS Ltd 39 Partner Timur 78 Clifford LLP 28 Counsel Rahail 80 Reed Smith ltd 97 Partner
像这样出来
Name ID Company Name CompanyID Role Name count Ahmed 73 King & Spalding 55 Counsel 1 Timur 78 Chance CIS Ltd 39 Partner 2 Timur 78 Clifford LLP 28 Counsel 2 Rahail 80 Reed Smith ltd 97 Partner 1
答案 0 :(得分:1)
我假设名称和ID相互匹配。因此,如果不同人员的名称重复,我使用ID进行分区
SELECT
*,
count(*) over (partition by ID) as [count]
FROM yourtable
答案 1 :(得分:0)
使用相关的子查询:
select t.*, (select count(*) from tablename where name = t.name) as count
from tablename t
答案 2 :(得分:0)
如果您正在使用SQL Server 2005或更高版本,那么您可以使用窗口功能轻松实现此目的:
SELECT
T.Name,
T.ID,
T.CompanyName,
T.CompanyID,
T.RoleName,
COUNT(*) OVER (PARTITION BY T.Name)
FROM
My_Table T