SQL --分组【Group By】
2016-01-05 21:23
302 查看
Group By:对数据进行分组,分组之后的数据就是“分组信息”,和原来表的信息,就没有联系了,
分组之后,可以取到分组数据,就是根据什么字段分组,就能取到字段的名字了。还能使用聚合函数。
Group By和Order By都是要放在Where语句之后,Group By和Order By都是对筛选后的数据进行处理,而Where是用来筛选数据的。
[b]没有出现在Group By子句中的列,是不能放到Select语句后的列名列表中的『聚合函数中除外』[/b]
易错点:
SELECT * FROM dbo.Orders GROUP BY ShipCity--这句SQL是错误的,执行报错
SELECT * FROM dbo.Orders ORDER BY ShipCity --这句SQL是正确的。
[b]SELECT ShipCountry FROM dbo.Orders ORDER BY ShipCity--这句SQL是正确的[/b]
[b] SELECT ShipCountry FROM dbo.Orders GROUP BY ShipCity--这句SQL是错误的[/b]
[b] SELECT COUNT(ShipCountry) FROM dbo.Orders GROUP BY ShipCity--这句SQL是正确的[/b]
SELECT CompanyName, COUNT(CompanyName) FROM dbo.Shippers GROUP BY CompanyName--是正确的
![](http://images2015.cnblogs.com/blog/745221/201601/745221-20160105210625590-2067017727.jpg)
分组之后,可以取到分组数据,就是根据什么字段分组,就能取到字段的名字了。还能使用聚合函数。
Group By和Order By都是要放在Where语句之后,Group By和Order By都是对筛选后的数据进行处理,而Where是用来筛选数据的。
[b]没有出现在Group By子句中的列,是不能放到Select语句后的列名列表中的『聚合函数中除外』[/b]
易错点:
SELECT * FROM dbo.Orders GROUP BY ShipCity--这句SQL是错误的,执行报错
SELECT * FROM dbo.Orders ORDER BY ShipCity --这句SQL是正确的。
[b]SELECT ShipCountry FROM dbo.Orders ORDER BY ShipCity--这句SQL是正确的[/b]
[b] SELECT ShipCountry FROM dbo.Orders GROUP BY ShipCity--这句SQL是错误的[/b]
[b] SELECT COUNT(ShipCountry) FROM dbo.Orders GROUP BY ShipCity--这句SQL是正确的[/b]
SELECT CompanyName, COUNT(CompanyName) FROM dbo.Shippers GROUP BY CompanyName--是正确的
![](http://images2015.cnblogs.com/blog/745221/201601/745221-20160105210625590-2067017727.jpg)
![](http://images2015.cnblogs.com/blog/745221/201601/745221-20160105210801528-857581677.jpg)
相关文章推荐
- 修改mysql hash 分区为range 分区,并删除一个分区
- vc6.0 通过ADO(udl)连接sql 2008
- NoSQL数据库的应用场景
- MySQL的FROM_UNIXTIME()和UNIX_TIMESTAMP()函數的區別
- Oracle 12c RMAN备份文档
- Oracle学习之shared pool及sga的大小的设置
- MySQL索引和查询优化
- Yii框架配合Redis实现网站自动登录
- (笔记)Mysql命令show databases:显示所有数据库
- mybatis sql语句配置
- (笔记)Mysql命令create:创建数据库
- (笔记)Mysql命令grant on:增加新用户并控制其权限
- (笔记)Mysql命令mysqladmin:修改用户密码
- Windows 下redis安装与使用
- Mybatis SQL映射语句中参数注释规则
- (笔记)Mysql命令mysql:连接Mysql数据库
- mysql错误汇总
- MySQL监控利器-Innotop
- 数据库
- REDIS学习笔记