设为首页 加入收藏

TOP

SQL高级操作之查询数据精讲
2018-10-23 18:08:42 】 浏览:115
Tags:SQL 高级 操作 查询 数据 精讲
 

Groupby子句

Group by表示分组的含义:根据指定的字段,将数据进行分组:分组的目标是为了统计

分组统计(画重点:group by 就是用于分组的)

基本语法: group by 字段名;

Group by是为了分组后进行数据统计的,如果只是想看数据显示,那么group by没什么含义:group by将数据按照指定的字段分组之后,只会保留每组的第一条记录。

\

利用一些统计函数:(聚合函数)

count():统计每组中的数量,如果统计目标是字段,那么不统计为空NULL字段,如果为*那么代表统计记录

avg():求平均值

sum():求和

max():求最大值

min():求最小值

\

Group_concat():为了将分组中指定的字段进行合并(字符串拼接)

\

多分组

将数据按照某个字段进行分组之后,对已经分组的数据进行再次分组

基本语法:group by 字段1,字段2; //先按照字段1进行排序,之后将结果再按照字段2进行排序,以此类推。

\

Having子句

Having的本质和where一样,是用来进行数据条件筛选。

1、 Having是在group by子句之后:可以针对分组数据进行统计筛选,但是where不行

查询班级人数大于等于4个以上的班级

Where不能使用聚合函数:聚合函数是用在group by分组的时候,where已经运行完毕

\

Having在group by分组之后,可以使用聚合函数或者字段别名(where是从表中取出数

据,别名是在数据进入到内存之后才有的)

\

强调:having是在group by之后,group by是在where之后:where的时候表示将数据从磁盘拿到

内存,where之后的所有操作都是内存操作。

Orderby子句

Order by排序:根据校对规则对数据进行排序

基本语法:order by 字段 [asc|desc]; //asc升序,默认的

\

Order by也可以像group by一样进行多字段排序:先按照第一个字段进行排序,然后再按照第二个字段进行排序。

Order by 字段1 规则,字段2 规则;

\

 
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇嵌套事务总结 下一篇centos下静默安装oracle数据库遇..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目