我看过类似的问题,无法找到任何回答我的问题的东西。转换为显示2个或更多组合列的总和的百分比
我有一列是其他列的计算,我想用一个集合数除以哪个总和,并以百分比显示结果。我已经尝试了下面的查询,并能够以十进制显示。基本上找出一个员工在做UPH的比例是多少......这样我就可以判断他们是否在他们的部门工作,或者出色地工作。我使用150作为我的基准利率
SELECT
ID
, DeptCode AS 'DC'
, OpCode AS 'OC'
,Units = sum(Units)
,UPH = cast(isnull(sum(Units)/nullif(sum(datediff(minute,StartTime,FinishTime))*1.0,0),0.0)*60 as decimal(10,0))
,Percentage = cast(isnull(sum(Units)/nullif(sum(datediff(minute,StartTime,FinishTime))*1.0,0),0.0)*60 as decimal(10,0))/150
FROM dbo.TimeLog
WITH (NOLOCK)
WHERE DeptCode = 'FB'
and OpCode = 'PU'
and Units IS NOT NULL
GROUP BY
ID
, DeptCode
, OpCode
这里是我的结果...
ID DC OC Units UPH Percentage
11259 FB PU 553 114 0.760000
2375935 FB PU 263 70 0.466666
我希望看到列“比例”像下面
ID DC OC Units UPH Percentage
11259 FB PU 553 114 76%
2375935 FB PU 263 70 47%
任何帮助将不胜感激,如果这对你来说很基本,我会提前致歉。我对SQL比较陌生
您好,我只是去尝试....消息195,级别15,状态10,第26行 'CONCAT'不是公认的内置函数名称。运行SQL 2008R2 – DRUIDRUID
跑了第二个得到了这个错误代码。 Msg 8114,级别16,状态5,行17 将数据类型varchar转换为数字时出错。 – DRUIDRUID
尝试前面提到的查询现在 –