如何写这样的SQL语句?(100分)

  • 主题发起人 主题发起人 zhujianbiao
  • 开始时间 开始时间
Z

zhujianbiao

Unregistered / Unconfirmed
GUEST, unregistred user!
数据库中数据是这样的:
no name cj
1 aaa 30
2 aaa 40
3 bbb 30
4 bbb 60
要求SQl语句运行后显示
name cj
aaa 70
bbb 90
该如何写这样的SQL语句?
 
select name,sum(cj) as cj from table1 group by name
 
如果多加一个字段呢
数据库中数据是这样的:
no name cj bz
1 aaa 30 111
2 aaa 40 222
3 bbb 30 1111
4 bbb 60 2222
要求SQl语句运行后显示
name cj bz
aaa 70 222
bbb 90 2222
该如何写这样的SQL语句?
 
怎么又来了。
select name,sum(cj) as cj,sum(bz) as bz from table1 group by name
在后面加,不就ok了》
 
从table1里读出的bz字段,为什么不会是1111呢?
 
象你这样的结构与结果显示要求,不可能用一个Sql语句来实现的只能做个中间表一个Sql
和一个while来实现吧。
 
select a.name.a.bz,b.cj form table a,(select name,sum(cj) as cj from table1 group by name) B
Where a.name=b.name
 
结果不是bz的和,而是最新的内容!
 
这样行不?
select name,sum(cj) as cj,max(bz) as bz from table1 group by name
 
select T1.name,T2.cj,t1.bz from
table T1,(select name,sum(cj) as cj from table1 group by name) T2
where t1.name=t2.name and T1.no in ( select T3.no from (select name,max(no) as no
from table group by name ) T3)
试一下。这样应该可以吧?
 
建议老兄先学习一个SQL的基本知识.
 
后退
顶部