免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3515 | 回复: 6
打印 上一主题 下一主题

SQLserver 2000:分段成绩统计&时间格式 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-04-12 10:16 |只看该作者 |倒序浏览
1、假设有一成绩表,字段有学号、数学、语文,现想通过T-sql语句按分数段统计人数,如,统计数据0-60分、60-75分、75-85分、85-100分各分数段人数



2、表中一字段,数据类型是smalldatetime,但显示要求只显示时间如13:15:00,不显示年月日,如何设置格式?



论坛徽章:
0
2 [报告]
发表于 2010-04-12 10:16 |只看该作者
declare@tb table(cNum varchar(4), fMath float, fChinese float)



insert into @tb values(\'0001\', 98,88)

insert into @tb values(\'0002\', 80,20)

insert into @tb values(\'0003\', 78,76)

insert into @tb values(\'0004\', 90,66)

insert into @tb values(\'0005\', 82,62)

insert into @tb values(\'0006\', 62,56)

insert into @tb values(\'0007\', 57,55)





--统计数学成绩区间

select

Math,

count_math = Count(cNum)  

from

(select

     cNum,

     Math = (case when isnull(fMath,0)>=0 and isnull(fMath,0)=60 and isnull(fMath,0)=75 and isnull(fMath,0)=85 and isnull(fMath,0)=0 and isnull(fChinese,0)=60 and isnull(fChinese,0)=75 and isnull(fChinese,0)=85 and isnull(fChinese,0)<=100 then \'[85,100]\'

             else \'error value\'

          end)

   from

   @tb

   ) as a

group by

Chinese

order by

Chinese




论坛徽章:
0
3 [报告]
发表于 2010-04-12 10:16 |只看该作者
我也不知道怎么设置,但是可以这样转换一下:

例如:

   declare @t smalldatetime

    set @t = \'2010-4-12 14:52:30:000\'

    selectconvert(varchar(30),@t,114)





(希望能对您有点帮助,^_^)



论坛徽章:
0
4 [报告]
发表于 2010-04-12 10:17 |只看该作者
感谢热心指点,谢谢

我按您的方法试一下

论坛徽章:
0
5 [报告]
发表于 2010-04-12 10:18 |只看该作者
在这里用到@tb,不明白什么意思?



我不会复杂的操作,就是企业管理器里创建数据库、表,然后在查询分析器中给成绩表中插入记录,最后用语句统计各分数段的人数,刚接触sql,如何实施,还请您再将步骤说明一下,谢谢了

论坛徽章:
0
6 [报告]
发表于 2010-04-12 10:18 |只看该作者
这里的@tb是我做的一个临时数据表,用来模仿您的实际数据表,字段分别为 cNum(学号),fMath(数学成绩),fChinese(语文成绩)。 后面的几条“insert into”语句是给数据表插入示例数据,您可以将这整段程序拷贝到查询分析器中执行一下,应该可以达到您要的效果。



论坛徽章:
0
7 [报告]
发表于 2010-04-12 10:19 |只看该作者
关键的语句是后面的那两块(就是两条注释语句后的那两块程序,我已经把程序字体加粗了),实际使用时把字段名换成您实际数据表的字段名即可



您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP