2016-08-02 51 views
-6

我想让我的查询在列中计算相同的值,然后按降序排列。我的代码不起作用:/。在SQL Server列中计算相同的值

SELECT 
    F_PURCHASE.PID, D_PITEMS.ID, COUNT(D_PITEMS.ITEMID), D_PITEMS.ITEMNAME 
FROM 
    F_PURCHASE 
INNER JOIN 
    D_PITEMS ON F_PURCHASE.PID = D_PITEMS.ID 
GROUP BY 
    D_PITEMS.ITEMID 

有什么建议吗?

+0

请提供样本数据和期望的结果。没有预期输出的知识,有很多方法可以解决这个问题。 –

+0

你有什么错误? –

+0

如果你没有使用公式('sum()','count()','avg()'等)聚合字段,那么它属于你的分组。否则,你可能会得到时髦的结果。 – JNevill

回答

1

你GROUP BY应该包含所有不在计数的字段:

GROUP BY F_PURCHASE.PID, D_PITEMS.ID, D_PITEMS.ITEMNAME