读书人

大家来抢分 求一关于SUM 的简单SQL语句

发布时间: 2012-02-07 17:45:36 作者: rapoo

大家来抢分 求一关于SUM 的简单SQL语句
temtable dbtable

{ {
bsid bsid
score name
} }

我要做的是 一个表格中显示 name sum(score) 按分数由高到底排序

我的sql语句是:
select temtable.bsid,dbtable.name,sum(temtable.score) from temtable,dbtable where temtable.bsid=dbtable.bsid group by temtable.bsid
可是计算机告诉我 据和函数 group by 不能在这个sql中通过,如果对一个表求和倒是能成功,这是两张表如何处理阿
解决后 立刻结账 拜托中!!!!!!



[解决办法]
select temtable.bsid, sum(temtable.score) from temtable LEFT JOIN dbtable ON temtable.bsid=dbtable.bsid group by temtable.bsid


dbtable.name, 不能再同时显示了——或者,只能显示其中的一行,min/max



[解决办法]
select temtable.bsid,dbtable.name,sum(temtable.score) from (select * from temtable,dbtable where temtable.bsid=dbtable.bsid) group by temtable.bsid
[解决办法]
select a.[name],sum(b.score) from dbtable a,temtable b where a.bsid=b.bsid group by a.[name]
[解决办法]
select temtable.bsid,dbtable.name,sum(temtable.score) from temtable,dbtable where temtable.bsid=dbtable.bsid group by temtable.bsid,dbtable.name


你把两个条件temtable.bsid,dbtable.name作为group by。
[解决办法]
create table t1(bsid varchar(10),score int)
insert into t1
select '1 ',80
union all
select '2 ',63
union all
select '1 ',88
union all
select '3 ',95
go


create table t2(bsid varchar(10),[name] varchar(10))
insert into t2
select '1 ', 'xiao '
union all
select '2 ', 'shui '
union all
select '3 ', 'lin '
go


select t1.bsid,[name],sum(score) score
from t1,t2
where t1.bsid=t2.bsid
group by t1.bsid,t2.[name]
order by score desc


bsid name score
---------- ---------- -----------
1 xiao 168
3 lin 95
2 shui 63

(3 row(s) affected)


是这个意思吗?

读书人网 >.NET

热点推荐