将属性添加到行计数

时间:2011-12-08 03:50:00

标签: mysql

我有下表:

  

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

2 个答案:

答案 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 有一个您应该使用的查询。我想提供解释。