0
这就是我想要实现:如何按Column1进行分组并将Count2与Count(*)相乘?
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
计数的所有sparepart OCCURENCES并与他们对应的Material_Quantity
值乘以他们。 但我得到以下错误:
8118: Column 'tabDataDetail.Material_Quantity' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause.
我怎么能乘这两个值有意义?简单的SUM
或AVG
会给出正确的结果吗?例如:COUNT(*) * AVG(dd.Material_Quantity) as [Count]
嗯,你的意思我并不需要在所有的,因为我反正SELECT COUNT(*)想要获得Material_Quantity。这就说得通了。谢谢。 'Sum'只会求出符合'Where'条件和'Group-By'的行? –
@Tim Schmelter:是的,这只会和'where'匹配的行总和,'sum'只能用于组中的行。 – Andomar
我已经接受你的答案,虽然我有问题,许多行有一个链接的备件,但material_quantity为null或0.我想我会改变它们到1.编辑:解决:我忘记添加另一个条件在我的地方条款。 –