where和having的区别
来源:互联网 发布:硕鼠软件 编辑:程序博客网 时间:2024/04/27 13:26
有些地方两者都可以用,比如
select studentid, avg(score)
这种情况下哪个会快一点
解析:
select studentid, avg(score) from studentScore group by studentidhaving left(studentid, 1)='0'
1、分组汇总
2、过滤非法项
left(studentid,1)='0'是个效率不很高的过滤条件,如果分组会使数据量极大减少(比如每个人有几十门课),而且要过滤掉的只是很小一部分学生,这种写法会有比较高的效率
select studentid, avg(score) from studentScore whereleft(studentid, 1)='0' group by studentid
1、过滤非法项
2、分组汇总
虽然left(studentid,1)='0'是个效率不很高的过滤条件,但是如果你要从几百万学生中找到几十个学生3-5门功课的平均分,还是应该很明智的选择它
ps:having和where并没有谁好谁不好的区别,我觉得最重要的是看需要,适合用哪个就用哪个
0 0
- WHERE 和HAVING的区别
- where和having的区别
- HAVING和WHERE的区别
- Where 和Having的区别
- where和having的区别
- where和having的区别
- where和having的区别
- Where 和Having的区别
- having和where的区别
- having 和where 的区别
- HAVING和WHERE的区别
- having和where 的区别
- where和having的区别
- where和having的区别
- where 和 having的区别
- having 和where的区别
- having和where的区别
- where和having的区别
- Android 用户界面---拖放(Drag and Drop)(二)
- IDEA - 初学记录
- 用javacsv API 来操作csv文件
- mysql的root账户密码忘了的解决办法
- [leetcode 14] Longest Common Prefix
- where和having的区别
- DedeCMS二次开发:文件结构
- EEPlat 的数据层模式
- 云服务---我听懂了
- 怎样才能够轻而易举获取用户粘度
- 微信解密个人版
- Memcache简单实践(分布式)
- 两种Sensor 的打开用例
- Android 用户界面---拖放(Drag and Drop)(三)