天天看点

oracle 分组_sql 分组语句group by

聚合函数如sum(),max()等,通常需要结合分组语句group by 使用 GROUP BY 语句 GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。 语法:

SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name operator valueGROUP BY column_name
           

GROUP BY 实例

student表查询结果如下:

oracle 分组_sql 分组语句group by

1、查询每个人的总分,语句如下:

select name 姓名,sum(score) 个人总分 from student group by name
           

输出结果:

oracle 分组_sql 分组语句group by

2、按课程汇总查询,语句如下:

select name 姓名,max(case course when '语文' then score else 0 end ) 语文,max(case course when '数学' then score else 0 end ) 数学,max(case course when '英语' then score else 0 end ) 英语,sum(score) 总成绩from studentgroup by  name
           

输出结果:

oracle 分组_sql 分组语句group by

3、查询平均分大于75分的学生,语句如下:

select name 姓名,max(case course when '语文' then score else 0 end ) 语文,max(case course when '数学' then score else 0 end ) 数学,max(case course when '英语' then score else 0 end ) 英语,sum(score) 总成绩,avg(score) 平均分from studentgroup by  namehaving avg(score)>75
           

输出结果:

oracle 分组_sql 分组语句group by

注:分组语句GROUP BY  做条件筛选,必须用having

小编推荐阅读:

  • 一起认识数据库

  • SQL Server2014安装图文详解

  • Mysql安装图文详解!手把手教会您从下载到安装成功

  • Oracle安装图文详解!手把手教会您从下载到安装成功
oracle 分组_sql 分组语句group by