首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

求一SQL语句写法?解决思路

2012-01-08 
求一SQL语句写法?我想做一个如同下表的操作:select sum(yuwen),sum(shuxue),xuehao,banji,sex frombiaogro

求一SQL语句写法?
我想做一个如同下表的操作: 
select sum(yuwen),sum(shuxue),xuehao,banji,sex from  
biao  

group by xingming  


出现这样的错误 
列 'biao.xuehao '在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 
列 'biao.banji '在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 
 列 'biao.sex '在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 

怎么做才能得到这些列的查询结果
 

[解决办法]
select sum(yuwen) as yuwen,count(yuwen) as cnt,xingming into #cj from biao group by xingming
select * from #cj
select #cj.yuwen,xuehao from biao,#cj where #cj.xingming=biao.xingming
[解决办法]
你的目的有问题,姓名相同的成绩作统计,统计的结果可能是几条数据的和,也就是几个学生的成绩的和,怎么能将学生的信息列出来的,也就是说不能出现一个属性存在多个信息片,我只能做到这样了:
select * from (select sum(yuwen) as sumyuwen,sum(shuxue) as sumshuxue ,xingming from biao group by xingming ) as t left join (select banji,xuehao,sex from biao) as b on t.xingming=b.xingming

sumyuwen sumshuxue xingming banji xuehao sex
89 107 a 01 001 1
89 107 a 01 002 1
89 107 a 02 003 0
89 107 a 02 004 1
59 86 b 01 005 0
59 86 b 02 006 1
66 77 c 03 007 1

原表是:
xuehao banji sex xingming yuwen shuxue 

001 01 1 a 1221
002 01 1 a 2231
003 02 0 a 1122
004 02 1 a 4433
005 01 0 b 5532
006 02 1 b 454
007 03 1 c 6677
[解决办法]

SQL code
select stuName ,sum(chScr),max(class),sum(maScr),max(sex) from tt group by stuName 

热点排行