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()函数无法统计字符串列表. 实例:
随机推荐
- day14 Python集合
定义:由不同元素组成的集合,集合是一组无序排列的可hash值,可以作为字典的key 1.不同元素.2.无序.3.集合中元素必须是不可变类型(数字,字符串,元祖) 特性:集合的目的是将不同的值存放在一起 ...
- leetcode 131. Palindrome Partitioning 、132. Palindrome Partitioning II
131. Palindrome Partitioning substr使用的是坐标值,不使用.begin()..end()这种迭代器 使用dfs,类似于subsets的题,每次判断要不要加入这个数 s ...
- nodeJS之Cookie和Session(一)
nodeJS之Cookie和Session(一) 一:Cookie HTTP是一个无状态协议,客户端每次发出请求时候,下一次请求得不到上一次请求的数据,那么如何将上一次请求和下一次请求的数据关联起 ...
- VUE2 第六天学习--- vue单文件项目构建
阅读目录 VUE2 第六天学习--- vue单文件项目构建 回到顶部 VUE2 第六天学习--- vue单文件项目构建 VUE单文件组件在Vue项目中,然后使用 new Vue({el: '#cont ...
- Objective-C Collection was mutated while being enumerated crash
Collection was mutated while being enumerated
- 开源HTTP解析器---http-parser和fast-http
由于项目中遇到需要发送http请求,然后再解析接收到的响应.大概在网上搜索了一下,有两个比较不错,分别是http-parser和fast-http. http-parser是由C编写的工具:fast- ...
- 如何屏蔽在Skyline的TerraExplorer中加载Shape或者KML等数据时的缓冲提示信息
在使用TerraExplorer软件或者二次开发自定义打开FLY工程时,以及在已有的FLY工程中导入其他矢量数据,如SHP.WFS图层.KML图层时,总会看到类似下图的提示信息: 有些用户问,如何能屏 ...
- 2-(基础入门篇)Air202下载开发入门(给Air202下载第一个程序)
http://www.cnblogs.com/yangfengwu/p/8887933.html 资料链接 链接:https://pan.baidu.com/s/1-SRfsKGQ7rZVvFmp1O ...
- YOU AND ME 不见不散(转载)
(看到一篇挺不错的文章,看了挺有感触的,与大家共勉.) 泰戈尔说: 有一个夜晚,我烧毁了所有的记忆, 从此我的梦就透明了: 有个早晨我扔掉了所有的昨天, 从此我的脚步就轻盈了! 越过山丘,才发现无人等 ...
- 3.3《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——less即more
Unix提供了两个工具查看不止文件的头部和尾部.这个功能程序叫做more,但有种更强大的变异体叫做less(起初我认为这是玩笑).less这个程序是交互性地,所以很难在输出时捕获,但是仍然为大家提供了 ...