简单东西-group by与sum一起进行数据统计
2016-04-14 14:41
316 查看
今日看到一道sql统计的题目,要求根据已经知道的表编写sql统计成另一张表。需求是这样的,有一张teacher表记录了每一位老师在哪一天有课程,表结构如下:
by的语句中,查询语句必须是group by后的字段或者是统计函数,那么这个sum统计是基于分组内部每一行的数据的。学习了。
id week (星期几) 有课 1 1 有 1 1 有 1 2 有 1 3 有 2 1 有 2 2 有 3 3 有 3 3 有用sql统计得到周一到周三每位老师每天的课程的总数的记录表如下:
id 星期一 星期二 星期三 1 2 1 1 2 1 1 0 3 0 0 2知道应该用group by但是不知道怎么写,别人给出的提示是使用case when,结合group by,某位网友给出的统计sql是这样的:
select id, sum(case when week=1 then 1 else 0 end) as 星期一 , sum(case when week=2 then 1 else 0 end) as 星期二 , sum(case when week=3 then 1 else 0 end) as 星期三 from teacher group by id这个sql是正确的,在使用group
by的语句中,查询语句必须是group by后的字段或者是统计函数,那么这个sum统计是基于分组内部每一行的数据的。学习了。
相关文章推荐
- SQL中的三值逻辑
- SQL Server 作业批量停止
- 结束SQL阻塞的进程
- 动态生成SQL Server视图作业
- SQL Server 语句操纵数据库
- SQL(结构化查询语句)
- oracle sql日期比较
- linux快速部署mysql服务器
- sql 存储过程分页
- 在WINXP系统上安装SQL Server企业版的方法
- 通过批处理调用SQL的方法(osql)
- SQL Server 存储过程的分页
- ASP程序与SQL存储过程结合使用详解
- SQL SERVER编写存储过程小工具
- 防御SQL注入攻击时需要注意的一个问题
- PostgreSQL教程(十九):SQL语言函数
- SQL Server复制需要有实际的服务器名称才能连接到服务器
- SQL Server 2000向SQL Server 2008 R2推送数据图文教程