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