mysql case when 聚合函数_mysql聚合函数
group_concat 可以对分组查询后的值进行拼接,如
select a group_concat(b) from z group by a; 就会按a列分组,b列对应聚合结果以逗号进行分隔
select 与 case结合使用最大的好处有两点,一是在显示查询结果时可以灵活的组织格式,二是有效避免了多次对同一个表或几个表的访问。 可以完成行转列的操作
下面举个简单的例子来说明。例如表 students(id, name ,birthday, sex, grade),要求按每个年级统计男生和女生的数量各是多少,统计结果的表头为,年级,男生数量,女生数量。如果不用select case when,为了将男女数量并列显示,统计起来非常麻烦,先确定年级信息,再根据年级取男生数和女生数,而且很容易出错。
用select case when写法如下:
SELECT grade,COUNT(CASE WHEN sex = 1THEN 1
ELSE NULL END) 男生数,
COUNT(CASE WHEN sex = 2THEN 1 ELSE NULL END) 女生数
FROM students
GROUP BY grade;
行转列举例:
如对日志的保存字段为:
id attribute value
1 attr1 BMW
1 attr2 100
1 attr3 2013-01-01
需要针对不同的attribute按照id进行分组统计,可以
select id,
Max(case when attribute='attr1' then value end) as attr1
Max(case when attribute='attr2' then value end) as attr2
Max(case when attribute='attr3' then value end) as attr3
Max(case when attribute='attr4' then value end) as attr4
from t
group by id;
Max用来对case中符合条件的取出最大值,也可以用count()来统计个数
mysql case when 聚合函数_mysql聚合函数相关推荐
- mysql查询语句有点难_Mysql惯用函数,难点,注意_mysql
十一.GROUP BY对结果分组 在与AVG()函数或SUM()函数等聚合函数一起使用时,GROUP BY子句能够发挥最大的作用.GROUP BY子句可以将查询结果分组,并返回行的汇总信息.在带有GR ...
- mysql od函数_Mysql数学函数不求人
所有的数学函数在一个出错的情况下返回NULL. - 单目减.改变参数的符号. mysql> select - 2; 注意,如果这个操作符与一个BIGINT使用,返回值是一个BIGINT! ...
- mysql逗号分隔函数_mysql split 函数(用逗号分隔)的实现
1:定义存储过程,用于分隔字符串 DELIMITER $$ USE `mess`$$ DROP PROCEDURE IF EXISTS `splitString`$$ CREATE DEFINER=` ...
- mysql信息函数和加密函数_MYSQL 常用函数(数学、字符串、日期时间、系统信息、加密)...
一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ABS(x) 返回x的绝对值 SELECT ABS(-1) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数 ...
- mysql 事件 函数_MySQL 自定义函数和存储过程的使用
MySQL支持自定义函数和存储过程,创建函数和存储过程分别使用CREATE PROCEDURE和CREATE FUNCTION,两者在语法结构上比较相似,但是它们的使用方法及使用场景有所有不同. 1. ...
- mysql 中abs函数_Mysql常用函数
本文内容: mysql函数的介绍 聚集函数 avg count max min sum 用于处理字符串的函数 合并字符串函数:concat(str1,str2,str3-) 比较字符串大小函数:str ...
- mysql left 函数_MySQL left()函数
在本教程中,您将学习如何使用MySQL LEFT函数返回指定长度的字符串的左侧部分. MySQL LEFT函数介绍 LEFT()函数是一个字符串函数,它返回具有指定长度的字符串的左边部分. 下面是LE ...
- mysql运行时间函数_mysql 时间函数
一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +-------------------- ...
- mysql的max函数_MySQL MAX函数
要了解MAX函数,请考虑一个employee_tbl表,该表具有以下记录- mysql> SELECT * FROM employee_tbl; +------+------+--------- ...
- mysql的isnull函数_MySQL isnull()函数基本指南
本教程将向您介绍MySQL ISNULL函数以及如何使用它来处理NULL值. MySQL ISNULL函数简介 ISNULL函数接受一个参数,并测试该参数是否为.如果参数为NULL,则ISNULL函数 ...
最新文章
- luogu4677山区建小学题解--区间DP
- 复杂查询练习_《从零学会SQL:简单查询》第二关 简单查询
- canvas 圆角矩形填充_View绘制系列(9)Canvas八卦图绘制
- MVC身份验证及权限管理(转载)
- hdu-5707-Combine String
- EditPlus使用技巧(汇总)
- jedis操作set_Jedis对redis的五大类型操作代码详解
- openresty入门 方法及指令
- javascript 浮点计算问题解决思路
- 如果让你写一个消息队列,该如何进行架构设计啊?说一下你的思路
- android mvp快速创建,学习MVPArms历程之Android Studio快速创建ArmsComponent组件化项目
- 谭浩强《c语言程序设计》第四版--重点难点总结
- 【语音识别】获得MOOC视频的文本(字幕)
- Word如何插入分数
- SaaS模式、技术与案例详解——第17章 案例详解
- python动态网页爬取——四六级成绩批量爬取
- Java 导出excel进行换行
- 图片加水印怎么加?这篇文章告诉你
- 那一抹淡淡的汐蓝 (瀑瀑安)
- MD5加密(纯代码)
热门文章
- 《Linux性能优化实战》—倪朋飞,CPU部分学习笔记
- mongodump 3.0.7
- 打印机能连上却不能打印
- 【历史上的今天】8 月 25 日:Linux三十周年;我国第一个计算机科学技术研究所成立
- oracle报ORA-12560: TNS: 协议适配器错误
- python仿360界面_python实现360的字符显示界面 -电脑资料
- 2019年9月最新1600个国内HTTP代理ip
- 港股指数实时行情数据 API 接口
- 【React】路由(详解)
- Windows Server 远程桌面连接 复制失效 rdpclip.exe