[MySQL]group by 与 having 结合函数 的统计技巧
group by 与 having 允许字段使用函数,根据函数运行的结果group by分组或having设置选择条件;
同时group by 与 having 也允许使用字段别名
示例表a:
| id | a | effective_date |
| 38 | 1 | 2018-03-23 09:55:58 |
| 39 | 9 | 2018-03-22 09:56:04 |
| 66 | 1 | 2018-02-21 09:56:09 |
| 68 | 6 | 2018-01-13 09:56:17 |
| 69 | 1 | 0000-00-00 00:00:00 |
示例表b:
| id | u_id | amount | t4_date |
| 1 | 39 | 30 | 2017-07-28 15:30:00 |
| 2 | 66 | 21 | 2018-03-08 10:07:40 |
| 3 | 69 | 13 | 2018-03-01 10:09:00 |
应用示例:
1.单表格式化分组
SELECT sum(a) FROM test_1 GROUP BY DATE_FORMAT(effective_date,"%Y-%m");
| sum(a) |
| 1 |
| 6 |
| 1 |
| 10 |
2.单表格式化分组(使用别名)
SELECT DATE_FORMAT(effective_date,"%Y-%m") AS date, sum(a) FROM test_1 GROUP BY date;
| date | sum(a) |
| 0000-00 | 1 |
| 2018-01 | 6 |
| 2018-02 | 1 |
| 2018-03 | 10 |
3.单表格式化分组,having选择输出的行(使用别名)
SELECT DATE_FORMAT(effective_date,"%Y-%m") AS date, sum(a) FROM test_1 GROUP BY date HAVING date = "2018-02";
| date | sum(a) |
| 2018-02 | 1 |
4.连表应用
SELECT DATE_FORMAT(b.t4_date,"%Y-%m") AS date, sum(a.a) FROM test_1 AS a LEFT JOIN test_4 AS b ON a.id = b.u_id GROUP BY date HAVING date = "2018-03";
| date | sum(a.a) |
| 2018-03 | 2 |
[MySQL]group by 与 having 结合函数 的统计技巧的更多相关文章
- mysql group by后 拼接某一字段
SQL> select * from tmp10; JS ND JM--------- ----- -------------------------------------------- ...
- mysql group by 用法解析(详细)
在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的 ...
- (转载)mysql group by 用法解析(详细)
(转载)http://blog.tianya.cn/blogger/post_read.asp?BlogID=4221189&PostID=47881614 mysql distinct 去重 ...
- mysql进阶(二十九)常用函数
mysql进阶(二十九)常用函数 一.数学函数 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x) 返回大于x的最小整数值 EXP ...
- mysql group by分组查询
分组的SQL语句有2个: group by 和分组聚合函数实现 partition by (oracle和postgreSQL中的语句)功能 group by + having 组合赛选数据 注意:h ...
- 十九、MySQL GROUP BY 语句
MySQL GROUP BY 语句 GROUP BY 语句根据一个或多个列对结果集进行分组. 在分组的列上我们可以使用 COUNT, SUM, AVG,等函数. GROUP BY 语法 SELECT ...
- DB-MySQL:MySQL GROUP BY
ylbtech-DB-MySQL:MySQL GROUP BY 1.返回顶部 1. MySQL GROUP BY 语句 GROUP BY 语句根据一个或多个列对结果集进行分组. 在分组的列上我们可以使 ...
- mysql group by 查询非聚集列
本文为博主原创,转载请注明出处: mysql使用group by可以使用一些聚合函数,可以计算最大值(max(column)),最小值(min(column)),总和(sum(column)),平均数 ...
- MySQL Group By 实例讲解(二)
mysql group by使用方法实例讲解 MySQL中GROUP BY语句用于对某个或某些字段查询分组,并返回这个字段重复记录的第一条,也就是每个小组(无排序)里面的第一条. 本文章通过实例向大家 ...
随机推荐
- Django路由层
路由层简单配置 urlpatterns = [ url(r'^admin/$', admin.site.urls), url(r'^articles/2003/$', views.special_ca ...
- Word设置多级标题
选中标题1的内容,点击编号图标,选中一个经典的编号模板,如下图 之后,再次点击编号图标,然后选中“定义新的多级列表”,将打开一个对话框 确保标题1的标号正确: 接着,确保标题2的编号正确: 依次类推, ...
- Newtonsoft.Json 的高级用法
Ø 简介 接着前一篇http://www.cnblogs.com/abeam/p/8295765.html,继续研究 Newtonsoft.Json 的一些高级用法.主要包括: 1. JSON ...
- docker之搭建私有镜像仓库和公有仓库
一.搭建私有仓库 1.docker pull registry #下载registry镜像并启动 2. docker run -d -v /opt/registry:/var/lib/registry ...
- MFC项目中:报错:“fatal error LNK1561: 必须定义入口点”解决方法
编译的时候,报错:“fatal error LNK1561: 必须定义入口点” 解决方案1: 右键->属性->链接器->高级->入口点,设置成:WinMainCRTStartu ...
- web.xml的作用
一般web项目都会自动创建一个 web.xml 但是也可以不用 下面是我目前的配置 <?xml version="1.0" encoding="UTF-8" ...
- 特性Attribute
1.简介 特性(attribute)是被指定给某一声明的一则附加的声明性信息. 在C#中,有一个小的预定义特性集合.在学习如何建立我们自己的定制特性(custom attributes)之前,我们先来 ...
- 在IntelliJ IDEA 中配置Ueditor富文本插件
这是我自学的配置教程,刚刚学习不太完善请谅解! 我会根据我的学习进程对此进行更贴,欢迎关注哦 ! 第一步:下载插件,地址:http://ueditor.baidu.com/website/downlo ...
- K - Video Reviews Gym - 101755K (二分)
题目链接: K - Video Reviews Gym - 101755K 题目大意: 一家公司想让个人给他们的产品评论,所以依次去找这个人,第i个人会评论当且仅当已经有个人评论或他确实对这个产品感兴 ...
- Grouping ZOJ - 3795 (tarjan缩点求最长路)
题目链接:https://cn.vjudge.net/problem/ZOJ-3795 题目大意:给你n个人,m个关系, 让你对这个n个人进行分组,要求:尽可能的分组最少,然后每个组里面的人都没有关系 ...