【发布时间】:2015-08-18 10:05:07
【问题描述】:
这是表tableA的sn-p:
station code persons childLabour DrinkingWater
staA 01 isaac No Yes
staB 05 Jane Yes Yes
staA 03 Jeff No No
staB 05 Saleh No Yes
staC 03 Henry Yes No
staA 01 Gera No No
staB 05 zoltan Yes Yes
staA 01 Allen No Yes
staC 04 Billy No Yes
staA 01 Jean Yes Yes
我正在尝试对该表制定一个查询,结果如下所示:
查询结果说明:
根据站点和代码,计算ChildLabour值=yes的人数并显示结果。还计算DrinkingWater 值为Yes 的人数并显示结果——每个站和相应的代码。
station code ChildLabour DrinkingWater
staA 01 3 4
staA 03 2 1
staB 05 5 10
所以,到目前为止,我的查询如下所示:
select distinct station,code,
(select count(persons) from `tableA`
where childLabour='Yes'
group by `station,code`) as `childLabour`
from `tableA` order by code `asc`;
但它会生成错误的结果,如下所示: 查询在整个列中显示相同的值(childLabour 值 = Yes 的所有人员的总数)。
station code ChildLabour DrinkingWater
staA 01 3 4
staA 03 3 4
staB 05 3 4
我该如何解决这个问题,我相信这不是一个大问题!
【问题讨论】:
-
我不明白结果集与数据集的关系。
-
结果集:它是我想要得到的结果...
标签: mysql group-by aggregate-functions mysql-workbench