MySQL8.0.31统计男女生人数及比例

这篇具有很好参考价值的文章主要介绍了MySQL8.0.31统计男女生人数及比例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一  创建测试表

DROP TABLE IF EXISTS `persion`;
CREATE TABLE `persion`  (
  `id` int(0) NOT NULL AUTO_INCREMENT COMMENT '唯一标识',
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '名称',
  `age` int(0) NULL DEFAULT NULL COMMENT '年龄',
  `sex` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '性别',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of persion
-- ----------------------------
INSERT INTO `persion` VALUES (1, '张三', 18, '男');
INSERT INTO `persion` VALUES (2, '李四', 28, '男');
INSERT INTO `persion` VALUES (3, '王五', 38, '男');
INSERT INTO `persion` VALUES (4, '小红', 20, '女');
INSERT INTO `persion` VALUES (5, '小美', 21, '女');

二 查询男女生人数

        2.1 SQL语句

SELECT
	sum( CASE WHEN sex = '男' THEN 1 ELSE 0 END ) AS 男生人数,
	sum( CASE WHEN sex = '女' THEN 1 ELSE 0 END ) AS 女生人数,
	count( sex ) AS 总人数 
FROM
	persion

         2,2 结果展示

mysql查询男生女生人数,数据库,mysql,数据库,java

 三 查询男女生比例

        3.1 SQL语句

SELECT
	CONCAT( round( sum( CASE WHEN sex = '男' THEN 1 ELSE 0 END )* 100 / count( sex ), 2 ), '%' ) AS 男比例,
	CONCAT( round( sum( CASE WHEN sex = '女' THEN 1 ELSE 0 END )* 100 / count( sex ), 2 ), '%' ) AS 女比例,
	count( sex ) AS 总人数 
FROM
	persion

        3.2 结果展示

mysql查询男生女生人数,数据库,mysql,数据库,java

 四 语句所用到的MySQL函数说明

-- concat('str','str',...)字符串拼接
select concat('ab','cd')	-- abcd
-- round(num,n) 保留几位小数
select round(1.234,2) -- 1.23
-- sum(字段) 可用来统计字段内数字型函数的值之和
select sum(age) from persion -- 125 统计年龄之和
-- count (字段) 可用统计记录个数
select count(sex) from persion -- 5 一共5条记录
--  CASE WHEN sex = '男' THEN 1 ELSE 0 END 解释:如果 sex='男',记为 数字1 否则为 0 

 文章来源地址https://www.toymoban.com/news/detail-552731.html

到了这里,关于MySQL8.0.31统计男女生人数及比例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mysql8.0为什么取消了缓存查询的功能

    首先我们介绍一下 MySQL的缓存机制 【MySQL缓存机制】 简单的说就是缓存sql文本及查询结果,如果运行完全相同的SQL,服务器直接从缓存中取到结果,而不需要再去解析和执行SQL。 但如果表中任何数据或是结构发生改变,包括INSERT、UPDATE、DELETE、TRUNCATE、ALTER TABLE、DROP TABLE或

    2023年04月20日
    浏览(54)
  • 【IDEA+Spark Streaming 3.4.1+Dstream监控套接字流统计WordCount保存至MySQL8】

    把DStream写入到MySQL数据库中 Spark 3.4.1 MySQL 8.0.30 sbt 1.9.2 需要基于Spark Streaming 将实时监控的套接字流统计WordCount结果保存至MySQL 提示:本项目通过sbt控制依赖 在Spark应用中,外部系统经常需要使用到Spark DStream处理后的数据,因此,需要采用输出操作把DStream的数据输出到数据库

    2024年02月14日
    浏览(43)
  • Mysql的分组查询和统计计算

    1.聚合函数 聚合函数实现数据的统计计算,用于计算表中的数据,返回单个计算结果。聚合函数包括COUNT、SUM、AVG、MAX、MIN等函数,下面分别介绍。 (1)COUNT函数 COUNT函数用于计算组中满足条件的行数或总行数。 语法格式: COUNT ( { [ ALL | DISTINCT ] 表达式 } | * ) 其中,ALL表示

    2024年02月16日
    浏览(38)
  • MYSQL之查询按日期分组统计

    1.1、dayofyear、dayofmonth、dayofweek dayofyear(date) 函数返回日期位于所在年份的第几天,范围是1 ~ 366 dayofmonth(date) 函数返回日期位于所在月份的第几天,范围是1 ~ 31 dayofweek(date) 函数返回日期位于所在周的第几天,范围是1 ~ 7 查询语句 查询结果    需要注意的是,如果是 dayofmon

    2024年02月02日
    浏览(42)
  • 【MySQL聚合查询】轻松实现数据统计

    聚合查询:行和行之间的运算 常见的聚合函数: count:数量 sum:求和 avg:求平均值 max:最大值 min:最小值 1.2.1 count 函数 现在有一个 class 表: 现在我们就用 count 来统计 class 表中有多少个班级 1.2.2 sum 函数 现在有一个 score 表: 现在我们就用 sum函数来求 language 成绩的总和

    2024年02月06日
    浏览(47)
  • MySQL的三种属性约束(性别默认男女),简单易懂

    1、DEFAULT:默认值约束 比如当插入一些数据为空或者没有插入数据的时候,我们可以给一个默认值 插入语句进行验证:   (如下同理) 2、使用ENUM类型限制字段取值 ENUM 是一个字符串对象,其值是从列创建时定义的允许值列表中选择的 3、CHECK 检查约束 注意:(CHECK 约束:

    2024年02月04日
    浏览(45)
  • Android Debug Bridge (ADB) v1.0.31

    Android SDK Platform Tools for Windows, Linux, Mac (all versions) https://developer.android.google.cn/studio/releases/platform-tools [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

    2024年02月22日
    浏览(42)
  • 了解 MySQL的三种属性约束(性别默认男女)请看这里!!!

    1、DEFAULT:默认值约束 比如当插入一些数据为空或者没有插入数据的时候,我们可以给一个默认值 插入语句进行验证:   (如下同理) 2、使用ENUM类型限制字段取值 ENUM 是一个字符串对象,其值是从列创建时定义的允许值列表中选择的 3、CHECK 检查约束 注意:(CHECK 约束:

    2024年02月06日
    浏览(37)
  • MySQL根据出生日期查询年龄,以及对年龄进行分组统计

    表stu数据如下 1. 根据出生日期查询年龄 返回结果: 函数DATE():提取日期或日期/时间表达式的日期部分; 函数CURDATE():返回当前的日期; 函数TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2):计算两个日期的时间差,unit是计算时间差的单位,可以是SECOND秒、MINUTE分钟、HOUR小时、DAY天

    2024年02月11日
    浏览(62)
  • MySQL 在线人数 场景分析

    一般在直播或者游戏中经常会统计用户在线人数,主要分为求每个时刻的在线人数和求某个时刻的在线人数两种。 【场景】: 某个时刻的在线人数 、 每个时刻的在线人数 【知识点】: 窗口函数 、 时间函数 、sum(tag) over (order by dt,tag desc rows between unbounded preceding and current

    2023年04月12日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包