oracle分组查询数据 select BFMBIGNAME,projectaddress,BFMSMALLNAME from(select BFMBIGNAME,projectaddress,BFMSMALLNAME,row_number() over (partition by BFMBIGNAME order by REGISTERDATE) id from Projectinfo) where id<=3;
分组查询 group by
group by 属性名 [having 条件表达式][ with rollup]
“属性名 ”指按照该字段值进行分组;“having 条件表达式 ”用来限制分组后的显示,满足条件的结果将被显示;with rollup 将会在所有记录的最后加上一条记录,该记录是上面所有记录的总和。
1)单独使用
group by 单独使用,查询结果只显示一个分组的一条记录。
实例:
select * from employee group by sex;
将只显示男女两条记录。
全部章节 >>>>
本章目录
6.1 sum、max 和 min 聚合函数
6.1.1 聚合函数介绍
6.1.2 sum 函数
6.1.3 max/min 函数
6.2 avg 和 count 函数
6.2.1 avg 函数
6.2.2 count 函数
6.3 分组查询 group by 子句
6.3.1 group by 子句
6.3.2 创建分组
6.3.3 比较 order by 和 group by
6.3.4 使用 where 子句实现分组之前过滤数据
Oracle中group by用法
在select 语句中可以使用group by 子句将行划分成较小的组,一旦使用分组后select操作的对象变为各个分组后的数据,使用聚组函数返回的是每一个组的汇总信息。
使用having子句 限制返回的结果集。group by 子句可以将查询结果分组,并返回行的汇总信息Oracle 按照group by 子句中指定的表达式的值分组查询结果。
在带有group by 子句的查询语句中,在select 列表中指定的列要么是group by 子句中指定的列,
进阶5:分组查询
语法:
select 查询列表
from 表
【where 筛选条件】
group by 分组的字段
【order by 排序的字段】;
注意:
查询列表必须特殊,要求是分组函数和group by后出现的字段
特点:
1、分组查询中的筛选条件分两类
数据源
位置
关键字
分组前筛选
原始表
group by前面
where
分组后筛选
分组后的结果集
group by后面
having
分组函数做条件肯定放在having中
group by 子句支持单
Laravel 5.5
Linux mint 18
PHPStorm
最近刚玩Laravel,手册源码还没来得及看完就跃跃欲试做了个小项目,其中有个需求是分组查询数据库中的一个字段并返回每个分组中的数量,还是去翻手册(手册确实够简单):
groupBy 和 having 方法可用来对查询结果进行分组。having 方法的用法和 where 方法类似:
$users = DB::table('users')
->groupBy('account_id')
->having