一道褒贬不一的SQL考试题
日期:2007年7月31日 作者: 查看:[大字体 中字体 小字体]-
,100 * SUM(CASE WHEN 课程ID = 'K4' AND 成绩 >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN 课程ID = 'K4' THEN 1 ELSE 0 END) AS 政治及格百分数
FROM 成绩表 T
这一句看起来很长,但实际上是最经典的 CASE 运用,很实用的数据分析技术。先将原
表中的成绩一列连续投影 8 次备用于四门不同课程,充分利用 CASE 和数据的值域
['k1','k2','k3','k4']来划分数据,再利用 SUM() [1 + ...+ 1] 实现了看似本来应
该用 COUNT(*) 的计数器的功能,这里面不要说联接和子查询,甚至连 Group by 分组
的痕迹都找不到!如果读起来吃力,完全可以先只保留一个字段,相对好理解些,看懂后
逐一补全。本题也可以算一个"行变列"的交叉透视表示例吧! 另外,"行"相对于"列"
是动态的,"行"是相对无限的,"列"是相对有限的,"行"的增删是应用级的,可"随意"增
删,"列"的增删是管理级的,不要轻易变动!6.按不同老师所教不同课程平均分从高到低列印: (就是分析哪个老师的哪个课程水平高)
教师ID,教师姓名,课程ID,课程名称,平均分SELECT 教师ID,MAX(教师姓名) AS 教师姓名,课程ID,MAX(课程名称) AS 课程名称,AVG(成绩) AS 平均成绩
FROM 成绩表 T
GROUP BY 课程ID,教师ID
ORDER BY AVG(成绩) DESC这道题的确没啥好说的,就算闭着眼,不动手,答案也应脱口而出!
如果平均分按去掉一个最高分和一个最低分后取得,则也不难写出:SELECT 教师ID,MAX(教师姓名),课程ID,MAX(课程名称) AS 课程名称 --,AVG(成绩) AS 平均成绩
,(SUM(成绩)
-(SELECT MAX(成绩)
FROM 成绩表
WHERE 课程ID= T1.课程ID AND 教师ID = T1.教师ID)
-(SELECT MIN(成绩)
FROM 成绩表
WHERE 课程ID= T1.课程ID and 教师ID = T1.教师ID))
/ CAST((SELECT COUNT(*) -2
FROM 成绩表 - 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] 下一页
-
- 一道褒贬不一的SQL考试题 相关文章:
- ·2007年结婚吉日黄道吉日通用表
- ·知道对方的ip地址,如何查具体物理地址?
- ·PS通道抠图:给秀发飞扬的MM照片换背景
- ·[合成]问道丹药合成大全2
- ·一道褒贬不一的SQL考试题
- ·笔记本内存双通道(DDR2)
- ·[任务]《问道》20~50级剧情任务
- ·查看内存是否处于双通道模式
- ·PHOTOSHOP通道基础教程
- ·用一张图透彻讲解Photoshop通道的作用
- 一道褒贬不一的SQL考试题 相关软件
- ·七龙珠Z天下第一武道大会3
- ·赛道狂飙:国家
- ·朗道(电脑词典,翻译系统) V5.0
- ·和讯股道实时行情分析系统 普及版
- ·神奇传说2之时空道标
- ·老子(道德经)
- ·华容道全集
- ·JPT日本语合格的道路 V8.0
- ·《逍遥OL(问道)》精美官方壁纸
- ·效率源昆腾LCT10物理坏道修复程式 V2003
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:XML数据库发展迅猛
精品推荐
热点TOP10
- ·精妙SQL语句收集
- ·SQLPLUS命令的使用大全
- ·收集的host文件网站黑名单
- ·数据库连接字符串大全
- ·SQL Server 练习题
- ·SQL中CASE的用法
- ·认识VF--Visual FoxPro 漫谈
- ·什么是SQL注入法攻击
- ·一道褒贬不一的SQL考试题
- ·学习SQL语句之SQL语句大全
- ·SQL数据库高级教程:SQL UNION 和 UNION ALL
- ·SQL Server不存在或访问被拒绝 问题的解决
- ·SQLSERVER中,数据库同步的实现
- ·MS-SQL开发常用汇总和t-sql技巧集锦
- ·MySQL管理工具SQLyog最新6.1下载
- ·“SQL Server不存在或访问被拒绝”问题的解决
- ·MySQL数据库学习手册之MySQL客户工具和API
- ·学习SQL SERVER的存储过程-之一认识存储过程语法
- ·如何删除数据库中的冗余数据(翻译)
- ·数据库物理设计经验谈
特别推荐
- ·什么是SQL注入法攻击
- ·用SQL语句删除重复记录的四种方法
- ·数据库查询优化
- ·MySQL常见错误问答!
- ·MySQL从后门进企业市场
- ·精妙SQL语句收集
- ·如何在WinNT/2K/XP下启动纯DOS
- ·自己动手做一个SQL解释器
- ·SQL SERVER实用技巧
- ·动态创建MSSQL数据库表存储过程
- ·数据库的分页问题
- ·DM分区软件使用详解
- ·对ADSL接入方式铜缆可用线对率分析
- ·收集的host文件网站黑名单
- ·修复SQL Server 2000数据库之实战经验
- ·实用的存储过程之一
- ·IIS5 ISAPI Extension Back Door
- ·MySQL中文参考手册7(MySQL存取权限系统)grant设置密码password
- ·Sql server 如何得到汉字的声母
- ·数据库物理设计经验谈
