当前位置:首页>> 网站建设知识>> 网站建设知识

全文搜索

精华导读

·网站知识:虚拟中的真实:虚拟主机应用初探
·如何做好互联网的策划
·自动分词与中文搜索引擎
·网页文章的优化
·网站的一些基础小知识
·把网站变成卖场
·细说选择.cn域名的七大理由
·网站性感域名十大原则
·大型商务网站的SEO优化误区
·导致搜索引擎收录困难的5种原因
·网站建设中meta标签之详解
·网页制作中Web网页安全色谱
·网页设计中HTML常范的五个错误
·如何建立网站地图(site map)
·网站建设时如何选购虚拟主机?
·中国国家顶级域名和国际域名有什么区别?
·企业建设网站域名可以使用哪些字?
·建设网站时企业如何准备建网站资料?
·DIV+CSS建立标准WEB网页的好处

最新发表

·修改sqlserver默认端口并实现程序连接
·web制作中的sqlserver、unicode、utf-8
·嵌套游标的方式来删除表中重复的数据
·查询某表中的有字段名称和字段类型
·网站知识:web特殊符号大全
·Asp基础教程之内置对象的使用
·asp技术:Asp基础教程之内置对象的使用
·Asp基础教程之组件的开发与使用
·Asp基础教程之IIS最优化配置
·网站知识:Asp基础教程之常用操作
·网站知识:Asp基础教程之实用开发小技巧
·实现ajax的另类方法
·让框架随屏幕分辨率不同而自动调整
·asp.net(c#)生成汉字/汉语词组拼音的方法
·asp.net(c#)生成汉字/汉语词组拼音缩写的方法
·使用extjs将div浮动并实现鼠标拖放
·ASP实现文件直接下载
·关于CSS hack的思考
·纯CSS Tooltips

sql数据库小知识:where、group by、having 区别

文章来源:数据库技术 文章编辑:admin 添加时间:2009-3-3 13:35:44

数据库结构:
 
数据表:student
表结构:
Field Name DataType Len
id                int           20
name           varchar    25
major           varchar    25
score           int           20
sex              varchar    20
rn 
表数据:
编号/姓名/专业/学分/性别
id   name major     score sex
1    jak    Chinese    40    f
2    rain    Math        89    m
3    leo    Phy          78    f
4    jak    Math         76    f
5    rain    Chinese   56    m
6    leo    Math         97    f
7    jak    Phy          45    f
8    jak    Draw         87    f
9    leo    Chinese    45    f

现在我们要得到一个视图:
要求查询性别为男生,并且列出每个学生的总成绩:
SQL:
select s.*,sum(s.score) from student s where sex=''f'' group by s.name

Result:
id   name major     score sex sum(s.score)
1    jak    Chinese    40    f       248
3    leo    Phy         78     f       220

可以看到总共查到有两组,两组的学生分别是jak和leo,每一组都是同一个学生,这样我们就可以使用聚合函数了。
只有使用了group by语句,才能使用如:count()、sum()之类的聚合函数。

下面我们再对上面的结果做进一步的筛选,只显示总分数大于230的学生:
SQL:
select s.*,sum(s.score) from student s where sex=''f'' group by s.name having sum(s.score)>230

Result:
id   name major     score       sex   sum(s.score)
1    jak    Chinese    40          f       248

可见having于where的功能差不多。

结论:
1.WHERE 子句用来筛选 FROM 子句中指定的操作所产生的行。
2.GROUP BY 子句用来分组 WHERE 子句的输出。
3.HAVING 子句用来从分组的结果中筛选行。


[ ]

首页 评论 打印 刷新 返回顶部 关闭
【相关文章】  【相关评论】
修改sqlserver默认端口并实现程序连接
web制作中的sqlserver、unicode、utf-8
嵌套游标的方式来删除表中重复的数据
查询某表中的有字段名称和字段类型