如何按列1分组并将列与Count(*)相乘?

时间:2011-09-13 10:13:42

标签: sql-server-2005 tsql group-by

这就是我想要实现的目标:

SELECT  COUNT(*) * dd.Material_Quantity as [Count], tabSparePart.SparePartName
FROM         tabDataDetail AS dd INNER JOIN
                      tabSparePart ON dd.fiSparePart = tabSparePart.idSparePart
WHERE    dd.Reused_Indicator = 1
GROUP BY tabSparePart.SparePartName
ORDER BY Count DESC, tabSparePart.SparePartName

计算所有备件出现次数并将它们与相应的Material_Quantity值相乘。 但我得到以下错误:

  

8118:列'tabDataDetail.Material_Quantity'在选择列表中无效,因为它不包含在聚合函数中且没有GROUP BY   子句。

我如何才能有意义地将这两个值相乘?简单的SUMAVG会给出正确的结果吗?例如:COUNT(*) * AVG(dd.Material_Quantity) as [Count]

1 个答案:

答案 0 :(得分:1)

如果您要查找数量总和,可以使用sum

SUM(dd.Material_Quantity)