mysql 占比函数_MySQL通过分组计算百分比

在制作汽车之家柯米克论坛分析报告时,通过爬虫获取数据后,需要计算各省评论用户的比例。本文记录了如何在MySQL中通过关联码表、分组计数和计算百分比来实现这一目标。主要涉及SQL的ROUND和CONCAT函数,以及CONCAT_WS函数的使用。
摘要由CSDN通过智能技术生成

公司在做柯米克的分析报告,需要我这边把汽车之家柯米克论坛的评论数据和评论用户所在地的数据获取,通过爬虫的方式很快的解决了数据的问题,但是需要我提取下各省评论人数的比例,所以在数据库里面直接计算了相关的比例,把结果提交了,在这里记录下这个实现的方式。

下面看下评论用户取数据的表结构

但是获取的用户位置数据是adcode,这里还需要关联下adcode 码表,adcode码表数据结构(部分数据的截图);

1.首先我们需要把码表和用户表通过adcode关联起来,这样我们才知道具体的省份;

2.我们需要通过分组的方式获取到每个省份的通过人数有多少人;

3.然后再去计算各省人数的比例;

SELECTCONCAT(ROUND(

t1.total/ t2.totalCount * 100,2),'%')AS各省人数百分比FROM(SELECT

count(U.user_pid) AStotal,

D. NAME,

U.user_pidFROMauto_home_userASUINNER JOIN dict_city AS D ON D.id =U.user_pidGROUP BYuser_pid

) t1,

(SELECT

count(*) AStotalCountFROMauto_home_user

) t2

这里主要用到两个SQL的函数 ROUND和CONCAT,其他的都是比较常用的函数和语法

ROUND 主要是截取数值的小数位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值