[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语句用于对某个或某些字段查询分组,并返回这个字段重复记录的第一条,也就是每个小组(无排序)里面的第一条. 本文章通过实例向大家 ...
随机推荐
- 细说java系列之泛型
什么是范型 简言之,范型是Java支持在编译期进行类型检查的机制. 这里面包含2层含义:其一,可以使用范型进行类型检查:其二,在编译期进行类型检查. 那么,什么叫做在编译期进行类型检查?可以在运行时进 ...
- springboot(十六):springboot整合shiro
数据库有五张表(userInfo,uerrole,role,rolepermission,permission) userInfo(id,username,password) userrole(uid ...
- DataTabe使用Linq实现 Group
DataTable dt = dataSet.Tables[]; var query = from t in dt.AsEnumerable() group t by new { t1 = t.Fie ...
- FastJson用法
namespace test { class Program { static void Main(string[] args) { var zoo1 = new zoo(); zoo1.animal ...
- C# RichTextBox插入带颜色数据
#region 日志记录.支持其他线程访问 public delegate void LogAppendDelegate(Color color, string text); public void ...
- 安装软件出现缺少vcruntime140.dll
安装VC运行库QQ群:616945527 ->VC目录下
- Mono.Cecil
Mono Cecil十分强大,强大到可以静态注入程序集(注入后生成新的程序集)和动态注入程序集(注入后不改变目标程序集,只在运行时改变程序集行为),它甚至可以用来调试PDB MDB调试符号格式文件. ...
- Mac OSX常用工具
换Mac有几个月了,刚换的那个月折腾了整整一个月,初用OSX很不适应,这是一种错觉,就好比说了十几年汉语,突然说英语肯定很别扭,适应后就会觉得英语更加实用. Life weiboX(http://we ...
- Java EE之Struts2异常[No mapping found for dependency [type=java.lang.String, name='actionPackages'#java.lang.RuntimeException]【摘抄】
本博文摘自:http://www.blogjava.net/nkjava/archive/2009/03/29/262705.html 出现这个问题,可能是添加了struts2-codebehind包 ...
- python 关于文件操作
,要求在文件 .py 第六行插入一句话: #cat /root/python/2.py 2 昨夜雨疏风骤1 3 昨夜雨疏风骤2 4 昨夜雨疏风骤3 5 昨夜雨疏风骤4 6 昨夜雨疏风骤5 7 昨夜雨疏 ...