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 函数的更多相关文章

  1. sql的sum函数(与group by,having子句混合使用)

    SELECT Customer,SUM(OrderPrice) FROM Orders WHERE Customer='Bush' OR Customer='Adams' GROUP BY Custo ...

  2. SQL Server 聚合函数算法优化技巧

    Sql server聚合函数在实际工作中应对各种需求使用的还是很广泛的,对于聚合函数的优化自然也就成为了一个重点,一个程序优化的好不好直接决定了这个程序的声明周期.Sql server聚合函数对一组值 ...

  3. 数据库开发基础-SQl Server 聚合函数、数学函数、字符串函数、时间日期函数

    SQL 拥有很多可用于计数和计算的内建函数. 函数的语法 内建 SQL 函数的语法是: SELECT function(列) FROM 表 函数的类型 在 SQL 中,基本的函数类型和种类有若干种.函 ...

  4. SQL ServerOVER 子句,over开窗函数,SQL SERVER 开窗函数

    https://technet.microsoft.com/zh-cn/library/ms189461(v=sql.105).aspx http://www.cnblogs.com/85538649 ...

  5. sql over开窗函数,

    sql over开窗函数, 1.使用over子句与rows_number()以及聚合函数进行使用,可以进行编号以及各种操作.而且利用over子句的分组效率比group by子句的效率更高. 2.在订单 ...

  6. SQL GROUP BY 语句

    合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句. GROUP BY 语句 GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组. SQL GROUP BY 语法 ...

  7. sql内置函数pivot强大的行转列功能

    原文:sql内置函数pivot强大的行转列功能 语法: PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT的一般语法是:PIVO ...

  8. sql操作一般函数

    sql操作一般函数 函数一般语法:SELECT function(列) FROM 表 函数的基本类型是: Aggregate 合计函数:函数的操作面向一系列的值,并返回一个单一的值. Scalar 函 ...

  9. Sql 四大排名函数(ROW_NUMBER、RANK、DENSE_RANK、NTILE)简介

    排名函数是Sql Server2005新增的功能,下面简单介绍一下他们各自的用法和区别.我们新建一张Order表并添加一些初始数据方便我们查看效果. CREATE TABLE [dbo].[Order ...

随机推荐

  1. pytest-Mark数据驱动

    数据驱动 import pytest @pytest.mark.parametrize(("a", "b", "expected"), [ ...

  2. c++语法大全笔记(一)

    目录 一:初级知识   c++是一种中级语言,是c的扩充,是一种面向对象的程序设计语言,可以运行到多个平台.这里直接讲语法.   基础c++模板: #include <iostream> ...

  3. Qt发送邮件

    首先下载支持库 https://download.csdn.net/download/zhangxuechao_/10598108 #ifndef MAIL_H #define MAIL_H #inc ...

  4. web下载附件及修改名称

    /** * @param: url 附件地址 * @param: filename 下载后的文件名 */ function download(url, filename) { getBlob(url, ...

  5. tcp_tw_recycle参数引发的数据库连接异常

    [问题描述] 开发反馈有个应用在后端数据库某次计划性重启后经常会出现数据库连接异常问题,通过监控系统的埋点数据,发现应用连接数据库异常有两类表现:   其一:连接超时   131148.00ms To ...

  6. Ubuntu下搭建Kubernetes集群(1)--安装docker

    可以使用物理机,也可以使用虚拟机. 首先参考https://docs.docker.com/install/linux/docker-ce/ubuntu/ 官方文档学会安装docker. 1.首先移除 ...

  7. 跟着 Alex 学python 1.安装

    声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/ 参考文档: http://www.runoob.com/python/python-tutorial.ht ...

  8. 201871010119-帖佼佼《面向对象程序设计(java)》第十七周学习总结

    博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.co ...

  9. web-程序逻辑问题

    题目 查看源码 http://ctf5.shiyanbar.com/web/5/index.txt 代码如下 <html> <head> welcome to simplexu ...

  10. 使用 SQLContext 可以从现有的 RDD 或数据源创建 DataFrames 报错?

    报错情况: 解决方法: SQLContext可能需要自己创建. 所以,先运行var sqlContext=new org.apache.spark.sql SQLContext(sc).即可. 之后再 ...