我有下表:
OrderHasItem
OrderTable_idOrder
Item_idItem
量
SELECT Item_idItem, COUNT(Item_idItem)+quantity
FROM OrderHasItem
GROUP BY Item_idItem
我想计算每个项目的数量,但也要考虑每个条目的数量。
问题是当我用这些数据尝试时,我得到了非常奇怪的结果:
数据:
OrderTable_idOrder , Item_idItem ,数量
1,1,1
2,1,2
34,4,2
43,4,1,
77,2,1
结果:
Item_idItem , COUNT(Item_idItem)+数量
1,3
2,2
4,4
我真的不明白它是如何得到它给我的所以我不太确定如何继续。谢谢你的帮助。
这是目标数据:
Item_idItem ,数量
1,3
4,3
2,1
答案 0 :(得分:3)
SELECT Item_idItem, COUNT(Item_idItem), COUNT(Item_idItem)+SUM(quantity)
FROM OrderHasItem
GROUP BY Item_idItem
如果需要数量和数量的总和,我认为它应该有效。
或者
SELECT Item_idItem, SUM(quantity)
FROM OrderHasItem
GROUP BY Item_idItem
如果只需要数量总和。
答案 1 :(得分:0)
由于数量不是GROUP BY
子句的一部分,因此无法可靠地选择。所以MySQL正在或多或少地返回任意数据。
Zohaib 有一个您应该使用的查询。我想提供解释。