惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Forbes - Security
Forbes - Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
P
Palo Alto Networks Blog
Martin Fowler
Martin Fowler
T
Threatpost
D
Docker
S
Schneier on Security
M
MIT News - Artificial intelligence
G
Google Developers Blog
L
LINUX DO - 热门话题
J
Java Code Geeks
月光博客
月光博客
博客园 - 三生石上(FineUI控件)
IT之家
IT之家
博客园 - Franky
C
Cyber Attacks, Cyber Crime and Cyber Security
K
Kaspersky official blog
Google DeepMind News
Google DeepMind News
N
News and Events Feed by Topic
V
Vulnerabilities – Threatpost
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
人人都是产品经理
人人都是产品经理
Spread Privacy
Spread Privacy
T
Tailwind CSS Blog
爱范儿
爱范儿
阮一峰的网络日志
阮一峰的网络日志
U
Unit 42
C
CERT Recently Published Vulnerability Notes
The GitHub Blog
The GitHub Blog
Simon Willison's Weblog
Simon Willison's Weblog
NISL@THU
NISL@THU
MongoDB | Blog
MongoDB | Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
H
Heimdal Security Blog
Recorded Future
Recorded Future
云风的 BLOG
云风的 BLOG
SecWiki News
SecWiki News
P
Privacy International News Feed
P
Proofpoint News Feed
O
OpenAI News
B
Blog
腾讯CDC
F
Full Disclosure
Apple Machine Learning Research
Apple Machine Learning Research
T
Tor Project blog
H
Hacker News: Front Page
Project Zero
Project Zero
Hugging Face - Blog
Hugging Face - Blog
C
Cisco Blogs
S
Security Affairs

博客园 - 无名

sql2005分页SQL 数据库设计原则 sql2005排名函数 如何提高数据库性能,减少数据库服务器压力瓶颈一两个小方法 sql Server 索引优化 Using DeepLoad In NetTiers 看nettiers整理出来的codesmith模板编写要点 - 无名 - 博客园 .Net WinForm学习笔记 在javascript中,怎样响应键盘事件(转 - 无名 - 博客园 排名问题 DataGrid - 导出Excel文件 DataGrid导出excel和word的例子 DataGrid - 导出Excel文件 利用剪切板将DataSet的数据导出到Excel DataGrid相关知识总结(收集自各位老大处) 使用DES加密解密代码(C# & vb.Net),好东东,拷得,贴一下 dataGrid的手写样式 在DNN中获取所有模块信息 几个DNN里的技巧(转)(真的是好东东啊)
各分数段人数统计
无名 · 2006-06-23 · via 博客园 - 无名

已经存在一视图A,其显示如下:     
Exam       Name     Grade      Class        Subject     Score       总分级名次 
001          A           2002      -(1)       数学                    80                    1 
001       A           2002         一(1)          语文                 90                    1 
005          E           2002      -(1)       数学                    100                  1 
005       E           2002      一(1)          语文                 70                    1 
002       B           2002      一(1)       数学                    70                    3 
002       B           2002      一(1)       语文                    80                    3 
003       C           2002      一(2)       语文                    73                    2 
003       C           2002      一(2)       数学                    90                    2 
004       D           1999      四(1)       英语                    68                    1 
 
 
  
要求得到如下结果:     
Class                          参考人数                          1至2                        2以后 
一(1)                     3                              2                                1 
一(2)                     1                              1                            Null 
全级                                4                                3                            1 
 
提示: 
若全级的参考人数为7,则会得到以下六列: 
Class  参考人数  1至2  3至4   5至6   6以后 
(即步距为2。) 
 
       高手们,这一个统计结果是否可用存储过程或视图等实现?但我真的不想在程序中做,有办法吗? 
       谢谢!! 
 
 
create  table  依伊尘埃  (Exam  varchar(10),Name  varchar(10),Grade  int,Class  varchar(10),Subject  varchar(10),Score  int,总分级名次  int) 
insert  依伊尘埃  values('001','A',2002,'一(1)','数学',80,1) 
insert  依伊尘埃  values('001','A',2002,'一(1)','语文',90,1) 
insert  依伊尘埃  values('005','E',2002,'一(1)','数学',100,1) 
insert  依伊尘埃  values('005','E',2002,'一(1)','语文',70,1) 
insert  依伊尘埃  values('002','B',2002,'一(1)','数学',70,3) 
insert  依伊尘埃  values('002','B',2002,'一(1)','语文',80,3) 
insert  依伊尘埃  values('003','C',2002,'一(2)','语文',73,2) 
insert  依伊尘埃  values('003','C',2002,'一(2)','数学',90,2) 
insert  依伊尘埃  values('004','D',1999,'四(1)','英语',68,1) 
 
declare  @sql  varchar(8000),@sql1  varchar(1000),@sql2  varchar(1000) 
select  @sql  =  'select  Class,',@sql1='select  *,',@sql2='select  *  from  #大力  union  all  select  ''全级''' 
 
select  @sql1=@sql1+'isnull(['+cast(总分级名次  as  varchar)+'至'+cast(总分级名次+1  as  varchar)+'],0)+', 
@sql2=@sql2+',sum(['+cast(总分级名次  as  varchar)+'至'+cast(总分级名次+1  as  varchar)+'])', 
@sql=@sql+'sum(case  when  总分级名次  between  '+cast(总分级名次  as  varchar)+'  and  '+cast(总分级名次+1  as  varchar)+' 
                                                   then  1  else  null  end)  as  '''+cast(总分级名次  as  varchar)+'至'+cast(总分级名次+1  as  varchar)+''',' 
   from  (select  case  when  总分级名次%2=0  then  总分级名次-1  else  总分级名次  end  总分级名次    from  依伊尘埃  group  by  case  when  总分级名次%2=0  then  总分级名次-1  else  总分级名次  end)  as  a 
 
select  @sql1=left(@sql1,len(@sql1)-1)+'  参考人数  into  #大力  from(', 
@sql=@sql1+left(@sql,len(@sql)-1)+'  from  (select    Class,Exam,总分级名次  from  依伊尘埃  a  where  Class  like  ''一%''    group  by  Class,Exam,总分级名次)  tem  where  Class  like  ''一%''  group  by  Class)  temp1;'+@sql2+',sum(参考人数)  from  #大力' 
 
exec(@sql) 
 
drop  table