MySQL Group By使一些字段消失

时间:2014-08-03 05:38:50

标签: mysql sql group-by

为了我项目的需要,我需要像这样显示数据:
1楼 COMPONENT1 =>区域1
Component2 => Area2
...
1楼 小计面积=> Area1 + Area2


2楼 Component3 =>区域3
Component4 => Area4
...
2楼 小计Area2 => Area3 + Area4


总面积小计1 +小计2


但是当我运行这个查询时:

SELECT `C`.`id` AS `componentID`, 
       `C`.`name` AS `componentName`, 
       `PC`.`id`, 
       `PC`.`_productID`, 
       `PC`.`_componentID`, 
       `PC`.`floor`, 
       `PC`.`area`, 
       SUM(PC.area) AS `AreaSum` 
  FROM `Component` AS `C` 
 INNER JOIN `Product_Component` AS `PC` 
    ON C.id=PC._componentID 
 WHERE (PC._productID= '79') 
 GROUP BY `PC`.`floor` ORDER BY `PC`.`floor` ASC

我没有像我期望的那样得到东西。我没有在查询中列出fiels列表,而是按楼层列出区域的总和,而是只得到了各个区域的总和。

如果我按选择列表中的所有字段分组而不是区域分组,我会在结果中为每一行获得重复的区域列表。

请按照我的说法帮助我显示数据?

以下是我的数据库结构:

`Component`

`id` int(11)             
`name` varchar(30)       
`dbname` varchar(100)   

`Product_Component`

`id` int(100)            
`_productID` int(11)     
`_componentID` int(11)    
`floor` int(3)          
`area` varchar(11)       
`details`  mediumtext   

0 个答案:

没有答案