テーブル名は「OrderDetails」で、列は以下のとおりです。
OrderDetailID || ProductID || ProductName || OrderQuantity
OrderQuantity の合計を取得しながら、複数の列を選択し、ProductID でグループ化しようとしています。
Select ProductID,ProductName,OrderQuantity Sum(OrderQuantity)
from OrderDetails Group By ProductID
しかし、もちろんこのコードはエラーになります。グループ化するために他の列名を追加する必要がありますが、それは私が望んでいることではなく、データには多くの項目があるため、結果は予想外のものになります。
サンプルデータクエリ:
OrderDetails からの ProductID、ProductName、OrderQuantity
結果は以下の通りです。
ProductID ProductName OrderQuantity
1001 abc 5
1002 abc 23 (ProductNames can be same)
2002 xyz 8
3004 ytp 15
4001 aze 19
1001 abc 7 (2nd row of same ProductID)
期待される結果:
ProductID ProductName OrderQuantity
1001 abc 12 (group by productID while summing)
1002 abc 23
2002 xyz 8
3004 ytp 15
4001 aze 19
ProductName が一意ではないため、複数の列を選択し、ProductID 列でグループ化するにはどうすればよいでしょうか?
同時に、OrderQuantity 列の合計も取得します。
ベストアンサー1
複数の列を選択している場合、1 つの列でグループ化するには、次のトリックを使用します。
SELECT MAX(id) AS id,
Nume,
MAX(intrare) AS intrare,
MAX(iesire) AS iesire,
MAX(intrare-iesire) AS stoc,
MAX(data) AS data
FROM Produse
GROUP BY Nume
ORDER BY Nume
これは機能します。