2016-08-02 8 views
-6

私のクエリは列内の同じ値をカウントし、降順で並べ替えるようにしたいと考えています。私のコードは動作しません:/。列SQLサーバーで同じ値をカウントします

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 
関連する問題