group by的作用,怎样与HAVING连用?

来源:百度知道 编辑:UC知道 时间:2024/05/12 16:51:50
SQL数据库

group by主要的功能就是给某属性分组
having是给某属性分组的条件
例:数据库中存在这样一张表table,有如下属性:
ID NAME CLASS GRADE(成绩)
1 liu 1 30
2 wang 2 80
3 sun 1 50
4 zhang 2 70
用如下的查找语句找出总成绩在100分以上的class
select class,sum(grade) as s_grade
from table
group by class
having sum(grade) > 100
结果是:
class s_grade
2 150

简而言之:
group用于将某字段分组;一般与sum或其它统计函数结合;
having是对由sum或其它统计函数运算结果的输出进行限制.
使用:
设有个数据表table_store:用于存储某商店某月的销售量;
有以下字段:store_name,sales,date;
store_name(店名)、sales(销售量)、date(销售日期)
sql:
select store_name,sum(sales)
from table_store
group by store_name
having sum(sales)>1500;
将取得销售量大于1500的商店及其销售量.

我把我们数据库书上的内容原版打出来给你看:
select [列名] from [表名] where [条件表达式] {group by [列名1] having [条件表达式]} order by [列名2][asc|desc];
其中{}里的可要可不要,就是这样一种格式
如果有group子句,则