SQL学习记录10:分组与聚集
2015-07-20 21:32
405 查看
分组
select cust_type_cd , count(*) how_many from customer group by cust_type_cd having how_many > 10
聚集
隐式或显示分组
聚集函数Min()
Avg()
Sum()
Count()
select max(avail_balance) max_balance, min(avail_balance) max_balance, avg(avail_balance) max_balance, sum(avail_balance) max_balance, count(*) num_accounts from account group by product_cd
对独立值计数
计算不同id的个数用到了distinctselect count(distinct open_emp_id) from account
使用表达式
select max(pending_balance - avail_balance) max_data from account
在进行计算时候要注意null值所带来的影响, count(*)与sum 可能不同
多列分组
select product_cd, open_branch_id, sum(avail_balance) tot_balance from account group by product_cd, open_branch_id order by open_branch_id desc
利用表达式分组
select extract(year from start_date) year, count(*) how_many from employee group by extract(year from start_date)
extract 用来输出日期中的年份
警告
当在包含group by 字句的查询时增加过滤条件时候, 应该考虑是对原始数据过滤还是对group后的数据过滤。相关文章推荐
- 菜鸟的SQL入门
- Mysql JDBC 连接串参数说明
- fmdb 数据库简单使用
- 转:Redis Geo: Redis新增位置查询功能
- 数据库 基础学习5— 数学函数
- 如何重置oracle 10g SYS用户的密码
- ORACLE管理-查看拥有DBA角色的用户
- SQL Server里如何随机记录集
- MYSQL使用二进制日志来恢复数据
- 使用SQL语句创建SQL数据脚本(应对万网主机部分不支持导出备份数据)
- PostgreSQL+PostGIS 的使用
- expdp数据库时报ora-39002错误问题的处理01
- 在Redis-Sentinel的client-reconfig-script脚本中设置VIP
- MyBatis知多少(13)MyBatis如何解决数据库的常见问题
- HibernateTemplate的在操作数据库的一些方法
- Windows7 Mysql 编码设置
- 不同的数据库页的摘要
- 数据库字符集引发的血案
- mysql常用字符串操作函数大全,以及实例
- 【转】sqlserver查询数据库中有多少个表