GROUP BY 聚合函数(max min sum avg count) 和HAVING的 使用
重新复习一下这个都源自于我经常需要查的一个需求
“要找到表里面 出现了两次或者三次的某个字段”
现在假设有一张表字段是
+----+---------------------+-----------------------+---------------------+
| id | customer_service_id | refund_application_id | create_time |
+----+---------------------+-----------------------+---------------------+
| 1 | 1 | 199885 | 2016-10-27 15:39:59 |
| 2 | 2 | 199886 | 2016-10-27 15:46:33 |
| 3 | 3 | 199887 | 2016-10-27 15:47:04 |
| 4 | 4 | 199888 | 2016-10-27 15:48:41 |
| 5 | 5 | 199888 | 2016-10-27 15:48:41 |
+----+---------------------+-----------------------+---------------------+
我在现在要找出refund_applicaiton_id出现了相同的两次以上的refund_application_id 如何操作?
select * from ec_temporary_csmap group by refund_application_id HAVING count(refund_application_id)>=2;
这条语句可以帮我找到该行数据,但是他只会显示着一条
5 | 5 | 199888 | 2016-10-27 15:48:41 |
这是为什么呢? 因为group by会为我们对指定字段进行分组,如果分组字段有重复的值出现,则只会留其中一条,我们上面的语句就是对refund_application_id进行了分组,所以他都是唯一的,然后基于此我们使用HAVING加上聚合函数count对分组数据进行筛选。我们的条件的是refund_application_id 出现次数大于两次的分组。自然就得到了我们想要的结果。
另外需要注意的事情分组之后才能使用HAVING 来利用聚合函数来得到我们想要的结果,where指定条件里面是无法使用聚合函数的。
其实直接操作数据库的时间还是蛮多的,但是大部分时间都是在操作简单的查询语句,对于稍微复杂的语句没有更多的涉猎,及时每次用到的时候看看后面由于不经常使用就又生疏了,所以最近会陆陆续续纪录一些。
GROUP BY 聚合函数(max min sum avg count) 和HAVING的 使用的更多相关文章
- 统计函数:MAX,MIN,SUM,AVG,COUNT
- mysql之count,max,min,sum,avg,celing,floor
写在前面 昨天去青龙峡玩了一天,累的跟狗似的.不过还好,最终也算登到山顶了,也算来北京后征服的第三座山了.这里也唠叨一句,做开发这行,没事还是多运动运动,对自己还是很有好处的,废话少说,还是折腾折腾s ...
- Linq中max min sum avarage count的使用
一.Max最大值 static void Main(string[] args) { //Max求最大值 ,,,,,,,,,}; //方法1 Linq语句+Linq方法 var result = (f ...
- SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum
SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum avg() 函数 定义和用法 AVG 函数返回数值列的平均值.NULL ...
- group by与avg(),max(),min(),sum()函数的关系
数据库表: create table pay_report( rdate varchar(8), --日期 region_id varchar(4), --地市 ...
- MySQL之聚合数据(AVG,COUNT,MAX,MIN,SUM)
1.首先我们需要了解下什么是聚合函数 聚合函数aggregation function又称为组函数. 认情况下 聚合函数会对当前所在表当做一个组进行统计. 2.聚合函数的特点 1.每个组函数接收一个参 ...
- mysql 数据操作 单表查询 group by 聚合函数
强调: 如果我们用unique的字段作为分组的依据,则每一条记录自成一组,这种分组没有意义 多条记录之间的某个字段值相同,该字段通常用来作为分组的依据 如果按照每个字段都是唯一的进行分组,意味着按照这 ...
- SQL SERVER 2012 第三章 T-SQL 基本语句 group by 聚合函数
select Name,salesPersonID From Sales.store where name between 'g' and 'j' and salespersonID > 283 ...
- 49-python基础-python3-列表-常用列表统计函数-max()-min()-sum()
max() min() sum() 1-数字列表统计 实例: 2-字符串列表统计. 根据ASCII码大小统计字符串列表的min()和max(). 注意:sum()函数无法统计字符串列表. 实例:
随机推荐
- .Net修改网站项目调试时的虚拟目录
点中网站项目按F4,虚拟目录那个栏目全部删掉!
- MATLAB卷积运算(conv、conv2、convn)解释
1 conv(向量卷积运算) 所谓两个向量卷积,说白了就是多项式乘法.比如:p=[1 2 3],q=[1 1]是两个向量,p和q的卷积如下:把p的元素作为一个多项式的系数,多项式按升幂(或降幂)排列, ...
- POJ2236
https://vjudge.net/problem/POJ-2236 An earthquake takes place in Southeast Asia. The ACM (Asia Coope ...
- linux 用xshell工具远程登录
1.设置linux,获取ip,登录名.密码 2.xshell登录
- Html5 手机端网页
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- JAVA 8的新特性
1.Lambda表达式:允许把函数作为一个方法的参数 Lambda的优点: 1)简洁 2)非常容易并行计算 3)可能代表未来编程趋势 Lambda的缺点: 1)若不要并行计算,很多时候计算速度没有传统 ...
- 如何屏蔽在Skyline的TerraExplorer中加载Shape或者KML等数据时的缓冲提示信息
在使用TerraExplorer软件或者二次开发自定义打开FLY工程时,以及在已有的FLY工程中导入其他矢量数据,如SHP.WFS图层.KML图层时,总会看到类似下图的提示信息: 有些用户问,如何能屏 ...
- LOJ500 ZQC的拼图 二分答案、DP
传送门 题意:给出$N$个直角三角形拼图和$M \times M$的网格,第$i$个直角三角形水平直角边边长为$\frac{1}{a_i}$,垂直直角边边长为$\frac{1}{b_i},$规定直角三 ...
- Luogu3067 平衡的奶牛群 Meet in the middle
题意:给出$N$个范围在$[1,10^8]$内的整数,问有多少种取数方案使得取出来的数能够分成两个和相等的集合.$N \leq 20$ 发现爆搜是$O(3^N)$的,所以考虑双向搜索. 先把前$3^\ ...
- (转)对一个deb包的解压、修改、重新打包全过程方法
转自:https://blog.csdn.net/yygydjkthh/article/details/36695243 Reference: http://www.debian.org/doc/ma ...