业务场景:当我们使用SQL对数据分完组之后,能得到分组后的数据。但无法拿到整个数据的情况,明显一个查询是无法实现的。要么使用关联查询。

表结构及数据


分析:这里根据性别sex进行统计人数,可以看到男有2个,女有6个,总共8条数据。由此可以得到男占总人数的25%,女占总人数的75%,下面我们通过SQL来实现

实现方式一:

使用笛卡尔积方式

  • 写法一:
select sex,count(1)/(select count(1) count from user) blz from user group by sex

  • 写法二:
select sex,c1,c2,c1/c2 from (select sex,count(1) c1 from user group by sex) u1 join (select count(1) c2 from user) u2 on 1=1

实现方式二:

使用窗口函数sum() over(),推荐使用这种方式

select sex,c,sum(c)over(),c/sum(c)over() from (select sex,count(1) c from user group by sex) sb

mysql分组后统计个数,然后计算出每组个数占比相关推荐

  1. mysql分组后统计

    select department_id,avg(salary) from employees group by department_id;select max(t.avg_sal) from (s ...

  2. 给出n个数,找出这n个数的最大,最小,和值

    Java给出n个数,找出这n个数的最大值,最小值,和. 输入格式 第一行为整数n,表示数的个数. 第二行有n个数,为给定的n个数,每个数的绝对值都小于10000. 输出格式 输出三行,每行一个整数.第 ...

  3. mysql分组后按条件统计_Mysql-分组按条件统计

    现在有数据表,保存消息信息,包括消息类型,阅读状态,推送时间等字段,如附件图片.需求是要根据消息类型分组,找出每组最后推送时间,最后推送的消息标题,以及是否有未读信息,未读信息的数量等内容. 获取每种 ...

  4. mysql分组后去重效率_mysql-mb6018ead621887的博客-51CTO博客

    目录MySQL讲解一.启动服务 二.MySQL命令之数据库操作 三. MySQL命令之表操作 四.MySQL语法规范 五.DQL语言(主查询) 六.DML语言(对表中的数据操作) 七.DDL语言(表字 ...

  5. mysql分组后组内排名_SQL实现group by 分组后组内排序

    在一个月黑风高的夜晚,自己无聊学习的SQL的时候,练习,突发奇想的想实现一个功能查询,一张成绩表有如下字段,班级ID,英语成绩,数据成绩,语文成绩如下图 实现 查询出 每个班级英语成绩最高的前两名的记 ...

  6. mysql分组后组内排序_数据小白的转行之路-MYSQL(七)

    目录 一. 什么是窗口函数? 1. 什么是窗口函数 窗口函数,可以对数据库数据进行实时分析处理. 基本语法如下: <窗口函数> over by (partition by <要分组的 ...

  7. mysql分组后组内排序_图解排序 3/10 希尔排序

    希尔排序,它是由 D.L.Shell 于1959 年提出而得名.根据它的名字很难想象算法的核心思想.[ 所以只能死记硬背了,面试官问:希尔排序的思想是什么?].它的核心思想是把一个序列分组,对分组后的 ...

  8. MySQL分组后取每一组第N条数据

    1.知识点 group_concat()函数:聚合函数 1.功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果. 2.语法:group_concat( [distinct] 要 ...

  9. 从10W个数中随机抽走2个数,求出那两个数是多少

    这道题目是从51js论坛上看到的,链接在这里>> 题目大意是: 从1到10w(共10w个数)中随机抽走2个数,然后打乱剩下的数的顺序,问如果从这剩下的数中快速的找出抽走的是哪2个数? 我想 ...

最新文章

  1. 【java】关于面向对象优点的个人理解
  2. Python显示图像
  3. 在tensorflow中的网格图问题--np.mgrid()
  4. 【CCL】连通区域提取
  5. python红楼梦词频统计_用 Python 分析《红楼梦》(2)-阿里云开发者社区
  6. leetcode - 646. 最长数对链
  7. centos下使用composer安装yii2框架
  8. Centos7没有ip地址
  9. MySQL----获取当前日期当月第一天,最后一天
  10. 将多张图片转为avi视频,再转为h264文件
  11. vivado和modelsim联合仿真实现偶分频
  12. LSTM神经网络详解
  13. 【深度强化学习】A3C
  14. 主流微波雷达感应语音播报雷达感应照明灯LD602模块
  15. 对泊松分布的一点理解
  16. Android刷机备忘录
  17. QGIS加载在线地图:高德、天地图等
  18. 全国计算机一级ms考试内容,2020年全国计算机等级考试一级MSOFFICE考试内容
  19. Laravel配置系统默认Log路径--Star.hou
  20. Symfony5 系列教程1-安装并认识symfony

热门文章

  1. mysql的dump命令_MySQLmysqldump命令
  2. 吃苹果比赛的同步安全问题
  3. Hadoop启动命令
  4. 一加6升级android p,一加6手机升级Android P初体验:系统更智能、操作更流畅!
  5. Ubuntu16.04-设置阿里云下载源
  6. PythonChallenge Mission 10
  7. Linux如何查看系统信息
  8. 电脑不要使用中文名的账户
  9. 无法打开计算机开始菜单,Win10重置系统后开始菜单打不开了如何解决?
  10. Android 中使用Javassist