首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

各位求一统计条数的SQL语句,多谢

2012-02-01 
各位求一统计条数的SQL语句,谢谢 createtablet1(姓名varchar(10),考试名称IDint,试卷名称varchar(10),题型

各位求一统计条数的SQL语句,谢谢

create   table   t1(
姓名   varchar(10),
考试名称ID   int,
试卷名称   varchar(10),
题型   varchar(10),
分数   decimal(5,   2))

insert   t1   select   'aaa ',         1,                           '语文 ',                     '选择题 ',             20  
union   all   select   'aaa ',         1,                           '语文 ',                     '填空题 ',             30  
union   all   select   'aaa ',         1,                           '语文 ',                     '单选题 ',             40
union   all   select   'bbb ',         1,                           '数学 ',                     '选择题 ',             10  
union   all   select   'bbb ',         1,                           '数学 ',                     '填空题 ',             30  
union   all   select   'bbb ',         1,                           '数学 ',                     '单选题 ',             20  
union   all   select   'ccc ',         2,                           '语文 ',                     '选择题 ',             20  
union   all   select   'ccc ',         2,                           '语文 ',                     '填空题 ',             30  
union   all   select   'ccc ',         2,                           '语文 ',                     '单选题 ',             30  
union   all   select   'ddd ',         2,                           '数学 ',                     '选择题 ',             10  
union   all   select   'ddd ',         2,                           '数学 ',                     '填空题 ',             30  


union   all   select   'ddd ',         2,                           '数学 ',                     '单选题 ',             20


create   table   t2(
id   int,
tname   varchar(10))

insert   t2   select   1,         '期中 '
union   all   select   2,         '期末 '


通过   select     group语句,得到如下结果:

select   t1.姓名,   t1.考试名称ID,   t2.tname   as   考试名称,   t1.试卷名称,   sum(t1.分数)   成绩
from   t1,   t2
where   t1.考试名称ID   =   t2.id
group   by   t1.考试名称ID,   t2.tname,   t1.姓名,   t1.试卷名称

drop   table   t1,   t2

/*
姓名               考试名称ID     考试名称         试卷名称             成绩    
----------   -----------   ----------   ----------   -----------------------------  
aaa                 1                       期中                   语文                   90.00
bbb                 1                       期中                   数学                   60.00
ccc                 2                       期末                   语文                   80.00
ddd                 2                       期末                   数学                   60.00

(所影响的行数为   4   行)
*/


现在要实现的是,如何得到     成绩大于80的条数?

select   Count(*)

[解决办法]
select count(*) 成绩大于80的条数 from
(
select t1.姓名, t1.考试名称ID, t2.tname as 考试名称, t1.试卷名称, sum(t1.分数) 成绩
from t1, t2
where t1.考试名称ID = t2.id
group by t1.考试名称ID, t2.tname, t1.姓名, t1.试卷名称
) t
where 成绩 > 80

热点排行