小编Dan*_*Day的帖子

我可以将两列合并为一列,然后为它们计算值就好像是一列一样吗?

我目前正在使用此SQL语句返回由谁完成每条记录(RFI)的计数:

SELECT Completed_By, COUNT(DISTINCT Unique_ID) AS RFICount FROM RFI_ 
WHERE Date_Submitted BETWEEN '20110101' AND '20110630' 
GROUP BY Completed_By
Run Code Online (Sandbox Code Playgroud)

这将返回如下数据集:

Completed_By     RFICount
------------     ---------
SMITH, Bob       1
DOE, John        15
WARNER, Jack     11
Run Code Online (Sandbox Code Playgroud)

这就是我想要的样子。但是,某人可以是完成或协助完成记录(RFI)的主要或次要人员。无论他们是完成记录(Completed_By)还是完成记录(Assisting_Analyst),我都希望在一栏中显示所有内容。

当我使用以下SQL语句时,当需要聚合它们时,它们将显示为单独:

SELECT Completed_By, Assisting_Analyst, COUNT(DISTINCT Unique_ID) AS RFICount 
FROM RFI_ WHERE Date_Submitted BETWEEN '20110101' AND '20110630' 
GROUP BY Completed_By, Assisting_Analyst
Run Code Online (Sandbox Code Playgroud)

这将返回以下类型的输出:

Completed_By     Assisting_Analyst     RFICount
------------     -----------------     --------
SMITH, Bob       NULL                  1
DOE, John        NULL                  15
WARNER, Jack     NULL                  7
WARNER, Jack     SMITH, Bob            4
Run Code Online (Sandbox Code Playgroud)

由于鲍勃·史密斯(Bob Smith)为杰克·华纳(Jack Warner)提供了四个记录(RFI),因此将创建一个单独的行。但我只是希望每个人都获得个人荣誉,并将其显示在一个栏中,如下所示: …

sql-server group-by count

2
推荐指数
1
解决办法
3251
查看次数

标签 统计

count ×1

group-by ×1

sql-server ×1