如何在一条SQL中插入统计信息!? ( 积分: 100 )

  • 主题发起人 主题发起人 qiyisoft
  • 开始时间 开始时间
Q

qiyisoft

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟有个问题希望各位大侠帮忙
如何在一条SQL中插入统计信息!?
比如 Select * from abc ;
查询结果如下:
姓名 科目 成绩
---- ---- -----
甲 A 50
乙 A 60
丙 A 40
甲 B 50
乙 B 40
丙 B 60
有什么办法可以做到如下的输出结果 :
姓名 科目 成绩
---- ---- -----
甲 A 50
甲 B 50
小计 100
乙 A 40
乙 B 60
小计 100
丙 A 60
丙 B 40
小计 100
总计 300
 
小弟有个问题希望各位大侠帮忙
如何在一条SQL中插入统计信息!?
比如 Select * from abc ;
查询结果如下:
姓名 科目 成绩
---- ---- -----
甲 A 50
乙 A 60
丙 A 40
甲 B 50
乙 B 40
丙 B 60
有什么办法可以做到如下的输出结果 :
姓名 科目 成绩
---- ---- -----
甲 A 50
甲 B 50
小计 100
乙 A 40
乙 B 60
小计 100
丙 A 60
丙 B 40
小计 100
总计 300
 
好像没有呢
 
不會有你要的那種結果﹐
 
直接用存储过程好了
 
存储过程可以实现?那太好了 , 楼上的大侠可以指点下思路么
 
用compute(总计)和compute by(小计),在条件后面加上就行
 
select 姓名,科目,sum(成績) as 成績 from tablename
GROUP BY 姓名,科目 WITH rollup
 
试试这个:
Select * from abc
union
select 姓名,'',Sum(成绩) from abc Group by 姓名
union all
select '合计','',Sum(成绩) from abc
 
同意idonot,用compute可以实现
 
Compute 的结果,是在另外一个结果中产生的
如果在相应的数据库工具中还能看到结果,
如果在Delphi中就无法在同一个结果集中看到了
 
CUBE 生成的结果集显示了所选列中值的所有组合的聚合。
ROLLUP 生成的结果集显示了所选列中值的某一层次结构的聚合。
 
select 姓名,科目,sum(成績) as 成績 from tablename GROUP BY 姓名,科目 WITH cube
 
看到 fengyakun_2003 , cheng_2009 , idonot的建议对我的帮助很大 ,问题已经解决 .再此谢谢这么支持我的所有朋友
 
SQL SERVER 数据库就支持插入一条统计信息的 SQL 语言,具体可参看 SQL SERVER 的讲解!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
602
import
I
I
回复
0
查看
948
import
I
后退
顶部