分享到:
------解决方案--------------------
select a.fenlei, count(*), count(*)/(select count(*) from test)*100 as percentage, constitute
from test a, (select fenlei, group_concat(mc,',',cnt) as constitute from
(select fenlei, mc, count(*) as cnt from test group by 1,2) t group by 1) t1
where a.fenlei=t1.fenlei
group by 1
执行该 SQL 指令,可得到这样的数据Array
(
[0] => Array
(
[fenlei] => 北京
[count(*)] => 2
[percentage] => 25.0000
[constitute] => 服务好,1,卫生好,1
)
[1] => Array
(
[fenlei] => 上海
[count(*)] => 4
[percentage] => 50.0000
[constitute] => 服务好,2,卫生好,2
)
[2] => Array
(
[fenlei] => 天津
[count(*)] => 2
[percentage] => 25.0000
[constitute] => 服务好,1,卫生好,1
)
)输出时需对 constitute 列做一下处理
相关文章
相关视频
本文介绍了如何使用SQL进行数据统计,展示了一段SQL查询代码,该代码用于计算不同分类的条目数量及其占比,并展示了结果数据,其中包括北京、上海和天津的服务好与卫生好的比例。此外,还提供了构成数据的详细信息。
2261

被折叠的 条评论
为什么被折叠?



