SQL --------------- GROUP BY 函数
Aggregate 函数常常需要添加 GROUP BY 语句,Aggregate函数也就是常说的聚和函数,也叫集合函数
GROUP BY语句通常与集合函数(COUNT,MAX,MIN,SUM,AVG)一起使用,以按一个或多个列对结果集进行分组。
语法:
select 聚合函数(字段),字段 from 表名 group by 字段
建个表,弄点数,为了方便对照
分组查询银行统计名字相同的有几个
select COUNT(字段) as 个数,字段a from 表名 group by 字段a
其中count 中的字段可以随意填,一般为id
有可能的报错:
只又分组查询的那个字段可以不用聚合函数
可以稍加修改:
分组查询银行,并统计工资总数
与top 一块进行查询
语法:
select top 查询前几行 COUNT(字段) as 个数,字段a from 表名 group by 字段a
与排序 order by 一块
语法: 字段要一致
select top 查询前几行 COUNT(字段) as 个数,字段a from 表名 group by 字段a order by 字段a desc
如果不一致
与where 字句一块使用
语法: count() 里面没有什么限制,放啥都行
select top 查询前几行 COUNT(0) as 个数,字段a from 表名 where 条件 group by 字段a order by 字段a desc
多表查询
语法:
SELECT 表1.name,COUNT(表2.aid) AS nums FROM 表2
INNER JOIN 表1
ON 表2.site_id=表1.id
GROUP BY 表1.name;
select * from obgetest
-- 分组查询 银行,,其中名字是 obge 的有两个
select COUNT(Gids) as 个数,Bank from obgetest group by Bank --- 可以看出,多个字段时,只有需要分组查询的那个字段可以不用使用聚合函数
select COUNT(Gids)as 个数,Bank,Gongzi from obgetest group by Bank -- 可以修改为分组查询银行,并统计工资总总数
select COUNT(Gids)as 个数,Bank,sum(Gongzi)as 总数 from obgetest group by Bank -- 与top 一块查询,count 里面放入bank 字段和 gids 字段的作用一致
select top 5 COUNT(Bank) as 个数,Bank from obgetest group by Bank -- 与order by 一块,分组查询工资相同个数, 并按照倒序排列,查前5 行
----- 一定要注意 排序的字段和分组字段要一致
select top 5 COUNT(rem) as 个数,Gongzi from obgetest group by Gongzi order by Gongzi desc
--- 有错误
select top 5 COUNT(rem) as 个数,Gongzi from obgetest group by Gongzi order by Gids desc ---- 与where字句 注意语法位置
select COUNT(0) as 个数,Gongzi from obgetest where Gongzi > 1000 group by Gongzi order by Gongzi desc
SQL --------------- GROUP BY 函数的更多相关文章
- sql的sum函数(与group by,having子句混合使用)
SELECT Customer,SUM(OrderPrice) FROM Orders WHERE Customer='Bush' OR Customer='Adams' GROUP BY Custo ...
- SQL Server 聚合函数算法优化技巧
Sql server聚合函数在实际工作中应对各种需求使用的还是很广泛的,对于聚合函数的优化自然也就成为了一个重点,一个程序优化的好不好直接决定了这个程序的声明周期.Sql server聚合函数对一组值 ...
- 数据库开发基础-SQl Server 聚合函数、数学函数、字符串函数、时间日期函数
SQL 拥有很多可用于计数和计算的内建函数. 函数的语法 内建 SQL 函数的语法是: SELECT function(列) FROM 表 函数的类型 在 SQL 中,基本的函数类型和种类有若干种.函 ...
- SQL ServerOVER 子句,over开窗函数,SQL SERVER 开窗函数
https://technet.microsoft.com/zh-cn/library/ms189461(v=sql.105).aspx http://www.cnblogs.com/85538649 ...
- sql over开窗函数,
sql over开窗函数, 1.使用over子句与rows_number()以及聚合函数进行使用,可以进行编号以及各种操作.而且利用over子句的分组效率比group by子句的效率更高. 2.在订单 ...
- SQL GROUP BY 语句
合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句. GROUP BY 语句 GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组. SQL GROUP BY 语法 ...
- sql内置函数pivot强大的行转列功能
原文:sql内置函数pivot强大的行转列功能 语法: PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT的一般语法是:PIVO ...
- sql操作一般函数
sql操作一般函数 函数一般语法:SELECT function(列) FROM 表 函数的基本类型是: Aggregate 合计函数:函数的操作面向一系列的值,并返回一个单一的值. Scalar 函 ...
- Sql 四大排名函数(ROW_NUMBER、RANK、DENSE_RANK、NTILE)简介
排名函数是Sql Server2005新增的功能,下面简单介绍一下他们各自的用法和区别.我们新建一张Order表并添加一些初始数据方便我们查看效果. CREATE TABLE [dbo].[Order ...
随机推荐
- Python【day 11】迭代器
迭代器-用 1.迭代器的概念 1.可迭代对象-iterable str.list.tuple.dict.set.open().range() 2.可迭代对象的概念: 其数据类型的执行方法中含有__it ...
- js-深拷贝浅拷贝
深拷贝浅拷贝可以考察一个人的很多方面,例如:基本功,逻辑能力,编码能力: 在实际工作中的应用:比如用于页面展示的数据状态,与需要传给后端的数据包中,有部分字段的值不一致的话,就需要在传参时根据接口文档 ...
- 【已解决】git怎么合并多个分支到主干master
git支持很多种工作流程,我们采用的一般是这样,远程创建一个主分支,本地每人创建功能分支,日常工作流程如下: 去自己的工作分支$ git checkout workbranch 工作.... 提交工作 ...
- CI/CD DevOps
CI/CD DevOps 通过技术工具链完成持续集成CI.持续交付CD.用户反馈和系统优化的整合,实现跨团队的无缝协作(DevOps). 什么是持续集成? 他是开发每天代码更新的副本,所有的开发工作都 ...
- centos7,python2和python3共存
安装依赖包 yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk- ...
- windows 如何cmd启动redis
运行cmd 然后到redis路径 运行命令: redis-server redis.windows.conf
- Jenkins的CI持续集成
Jenkins的CI持续集成 全局配置 系统管理->全局工具配置,配置Git,JDK和Maven 1)解压maven到当前目录 tar zxf apache-maven-3.5.4-bin.ta ...
- CentOS7忘记root密码的修改方法
参考文献: [1]CentOS 6 & 7 忘记root密码的修改方法_Linux教程_Linux公社-Linux系统门户网站
- vue-particles粒子动画插件的使用和爬坑出现垂直滚动条
1下载==>cnpm install vue-particles --save-dev 2引入 注册-->main.js//插件 import VueParticles from 'vue ...
- c# 第12节 分支语句if、switch、三位运算符
本节内容: 1:流程控制语句分类 2:分支语句之if的使用 3:分支语句之switch的使用 4:分支语句之三位运算符 5:分支语句比较 1:流程控5:制语句分类 2:分支语句之if 3:分支语句之s ...