为了我项目的需要,我需要像这样显示数据:
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