sql使用笔记
来源:互联网 发布:java 数据压缩 编辑:程序博客网 时间:2024/04/30 23:18
1.where和having之间的区别
在查询过程中聚合语句(sum,min,max,avg,count)要比having子句优先执行.而where子句在查询过程中执行优先级别优先于聚合语句(sum,min,max,avg,count)。
简单说来:
where子句:
select sum(num) as rmb from order where id>10
//只有先查询出id大于10的记录才能进行聚合语句
having子句:
select reportsto as manager, count(*) as reports from employees
group by reportsto having count(*) > 4
having条件表达示为聚合语句。肯定的说having子句查询过程执行优先级别低于聚合语句。
再换句说话说把上面的having换成where则会出错。统计分组数据时用到聚合语句。
对分组数据再次判断时要用having。如果不用这些关系就不存在使用having。直接使用where就行了。
having就是来弥补where在分组数据判断时的不足。因为where执行优先级别要快于聚合语句。
结论:
1.WHERE 子句用来筛选 FROM 子句中指定的操作所产生的行。
2.GROUP BY 子句用来分组 WHERE 子句的输出。
3.HAVING 子句用来从分组的结果中筛选行。
2.with rollup--可组内聚合
RollUp是上卷功能,类似于数据挖掘中的上卷操作。
ROLLUp的功能和Order by功能是互斥的。
mysql> SELECT year, SUM(profit) FROM sales GROUP BY year;
+------+-------------+
| year | SUM(profit) |
+------+-------------+
| 2000 | 4525 |
| 2001 | 3010 |
+------+-------------+
mysql> SELECT year, SUM(profit) FROM sales GROUP BY year WITH ROLLUP;
+------+-------------+
| year | SUM(profit) |
+------+-------------+
| 2000 | 4525 |
| 2001 | 3010 |
| NULL | 7535 |
+------+-------------+
UPDATE T1 a,
(
) b
SET
WHERE a.id = b.id;
- SQL*Plus 使用笔记!!!
- sql使用笔记
- Hive SQL 使用笔记
- SQL使用笔记
- SQL server使用笔记
- SQL Server的使用笔记
- PL/SQL Developer使用笔记
- PL/SQL Developer 使用笔记
- PL/SQL Developer 使用笔记
- PL/SQL Developer 使用笔记
- 使用sql的一些笔记
- sql 语句基本使用 笔记
- Hibernate学习笔记:使用native sql查询
- SQL Cookbook学习笔记-使用数字
- SQL必知必会 笔记 第十八章 使用视图
- SQL必知必会 笔记 第二十一章 使用游标
- 学习笔记-- java中使用SQL语言
- PL/SQL 第4章 使用SQL 笔记
- Wi-Fi信道
- ····\sourceannotations.h(142) : error C3094: “repeatable”: 不允许匿名使用
- 从头到尾彻底解析Hash表算法
- C#形参,实参,值传递参数,引用传递参数,输出参数,参数数组的学习(一)
- 深入理解JVM内幕:从基本结构到Java 7新特性
- sql使用笔记
- Ubuntu桌面生存指南 (4) --- Ubuntu系统备份恢复升级策略
- matlab图像显示 imagesc 和imshow
- WinForm 中 Log4net 配置写不同文件
- LinuxC/C++编程基础(22) 使用thrift/rpc开发简单实例
- Android开发14——监听内容提供者ContentProvider的数据变化
- 模块的相关基础概念
- windows8开发-图片云存储与流的转换
- 云计算学习笔记