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

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

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

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

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

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

SELECT
CONCAT(
ROUND(
t1.total / t2.totalCount * 100,
2
),
'%'
) AS 各省人数百分比
FROM
(
SELECT
count(U.user_pid) AS total,
D. NAME,
U.user_pid
FROM
auto_home_user AS U
INNER JOIN dict_city AS D ON D.id = U.user_pid
GROUP BY
user_pid
) t1,
(
SELECT
count(*) AS totalCount
FROM
auto_home_user
) t2

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

ROUND 主要是截取数值的小数位置,这里我保留了2位小时;

SELECT ROUND(19.8883434,2);

运行结果

CONCAT 主要用户字符串的连接,这里与ORACLE 需要做下区别,Oracle 通过 || 关联;

语法:

CONCAT(str1,str2,...)  # str1,str2,.... 代表多个字符串

示例:

SELECT CONCAT("Hello","World")

结果:

这里特殊在多介绍一个方法,通过指定的分隔符连接字符串CONCAT_WS

语法:

CONCAT_WS(separator,str1,str2,...)  # separator 指分隔符,str1,str2,.... 代表多个字符串

示例:

SELECT CONCAT_WS(",","Hello","World") AS 字符串链接;

结果:

MySQL通过分组计算百分比的更多相关文章

  1. devexpress表格gridcontrol实现分组,并根据分组计算总计及平均值

    1.devexpress表格控件gridcontrol提供了强大的分组功能,你几乎不用写什么代码就可以实现一个分组功能,并且可根据分组计算总计和平均值.这里我例举了一个实现根据班级分组计算班级总人数, ...

  2. MySQL 对分组后的同类数据进行拼接字符串

    MySQL 对分组后的同类数据进行拼接字符串 写后台方法时遇到个问题,需要将表内同一订单号的操作记录流水进行简单拼接输出,不想取出来再操作,找了个mysql的方法直接操作 //group_concat ...

  3. R 分组计算描述性统计量

    统计学区内各个小区的房价均值 数据格式 id|community_name|house_area|house_structure|house_total|house_avg|agency_name|h ...

  4. spark 例子groupByKey分组计算2

    spark 例子groupByKey分组计算2 例子描述: 大概意思为,统计用户使用app的次数排名 原始数据: 000041b232,张三,FC:1A:11:5C:58:34,F8:E7:1E:1E ...

  5. spark 例子groupByKey分组计算

    spark 例子groupByKey分组计算 例子描述: [分组.计算] 主要为两部分,将同类的数据分组归纳到一起,并将分组后的数据进行简单数学计算. 难点在于怎么去理解groupBy和groupBy ...

  6. mysql数据库优化课程---10、mysql数据库分组聚合

    mysql数据库优化课程---10.mysql数据库分组聚合 一.总结 一句话总结:select concat(class,' 班') 班级,concat(count(*),' 人') 人数 from ...

  7. python库学习笔记——分组计算利器:pandas中的groupby技术

    最近处理数据需要分组计算,又用到了groupby函数,温故而知新. 分组运算的第一阶段,pandas 对象(无论是 Series.DataFrame 还是其他的)中的数据会根据你所提供的一个或多个键被 ...

  8. sql中计算百分比

    sql中计算百分比:(转成字符串然后拼接%) ),) AS CHAR),'%') as aa from act_canal; 效果:

  9. pandas之分组计算笔记

    分组计算三部曲:拆分-->应用-->合并 分组:就是按照行或列把相同索引的部分分到一起 分组的关键词为groupby,分组后我们就可以对每组数据进行同一操作,返回的是每组数据分别计算后的结 ...

随机推荐

  1. 移动Web UI库(H5框架)有哪些,看这里就够了

    前言 今年上半年,项目组在项目开发的过程中建立了一套风格统一,组件丰富完善,命名统一规范的PC端UI库,适用于做大型站点,该UI库也是应用到了整个平台的项目中,在各个项目组中进行推广.因为项目的保密性 ...

  2. Django+七牛上传+查看+下载文件相关函数,新整理未完全测试

    M class File(models.Model): # 文档模型 name = models.CharField(max_length=255) staff = models.ForeignKey ...

  3. List 常用方法

    List 计算集合中某属性值的总和 list.Sum(ins=>ins.Field); Sort()方法,摘要:使用默认比较器对整个 System.Collections.Generic.Lis ...

  4. 关于vs code 快速生成vue 模板

    在 文件>首选项>用户代码片断里面,打开vue.json 添加以下代码: "Print to console": { "prefix": " ...

  5. Matlab:非线性高阶常微分方程的几种解法

    一.隐式Euler: 函数文件1: function b=F(t,x0,u,h) b(,)=x0()-h*x0()-u(); b(,)=x0()+*h*x0()/t+*h*(*exp(x0())+ex ...

  6. 页面检测网络外网连接- 网页基础模块(JavaScript)

    方法一 html 添加图片标签 加载外站图片 <img id="connect-test" style="display:none;" onload=&q ...

  7. mysql 取年、月、日、时间

    select id, phone,time,year(time),month(time), DAY(time),TIME(time) from user where phone='xxxxxx' #分 ...

  8. 海量日志采集Flume(HA)

    海量日志采集Flume(HA) 1.介绍: Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据 ...

  9. Python 3.6.5 导入pymysql模块出错:No module named 'pymysql'

    检查一下项目设置中的解释器. 查看是否添加PyMySQL模块,如果没有请添加PyMySQL模块

  10. 用python做一个烟花show

    烟花效果如图(截了几个时刻的静态图): 源代码如下: # -*- coding: utf-8 -*- # Nola import tkinter as tk from PIL import Image ...