当前位置: 移动技术网 > IT编程>数据库>MSSQL > SQL必知必会笔记-分组数据

SQL必知必会笔记-分组数据

2019年04月30日  | 移动技术网IT编程  | 我要评论

济南陆军学院分数线,伤感歌曲 网络歌曲,信阳茶叶网

sql必知必会笔记-分组数据

 

1. 使用group by子句创建分组

 

示例:

 

select vend_id, count(*) as num_prods
from products
group by vend_id;

 

 

注意

 

group by 子句可以包含任意数目的列,因而可以对分组进行嵌套,更细致地进行数据分组。

如果分组列中包含具有null 值的行,则null 将作为一个分组返回。如果列中有多行null 值,它们将分为一组。

group by 子句必须出现在where 子句之后,order by 子句之前。

 

2. 使用having过滤分组

 

除了能用group by 分组数据外,sql 还允许过滤分组,规定包括哪些 分组,排除哪些分组

 

示例:

select cust_id, count(*) as orders
from orders
group by cust_id
having count(*) >= 2;

 

 

说明:having 和where 的差别

 

where 在数据分组前进行过滤,having 在数 据分组后进行过滤。这是一个重要的区别,where 排除的行不包括在 分组中。这可能会改变计算值,从而影响having 子句中基于这些值 过滤掉的分组。

 

3. 分组和排序

 

提示:不要忘记order by

 

一般在使用group by 子句时,应该也给出order by 子句。这是保 证数据正确排序的唯一方法。千万不要仅依赖group by 排序数据。

 

4. select 子句顺序

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网