大家来抢分 求一关于SUM 的简单SQL语句,该怎么解决
大家来抢分 求一关于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)
是这个意思吗?
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)
是这个意思吗?