首页 新闻 搜索 专区 学院

SQL在查询出来的数据上添加一行按列汇总成行的怎么写?

0
悬赏园豆:50 [已解决问题] 解决于 2013-10-14 11:32

比如说有一张表RLB 里面有字段A、B、C

原本直接用Select查出来的数据是这样的

A    B     C

X    123  5400

X    456  7677

B    789  9000

B    987  9800

 

现在想在查询的结果最后一列加一个汇总 ,第一个字段A对应的自定义   B和C对应为当列的汇总就是这样的

A        B         C

X        123      5400

X        456      7677

B        789      9000

B        987      9800

自定义 2355    31877

用一条SQL语句能否实现?最好有直接SQL语句

Heaven空白的主页 Heaven空白 | 初学一级 | 园豆:3
提问于:2013-10-12 16:12
< >
分享
最佳答案
0

方法有还能多种。 也可以在查询出来的DataTable中操作DataTable。之前写了个方法,如下:




/// <summary> /// 根据原始数据,新增合计行,统计出 合计数据 /// 作者:康忠鑫 /// 更新:在新增 序号列 2013-07-02 /// </summary> /// <param name="dtData"></param> /// <returns></returns> public DataTable MergeDataTableToSource(DataTable dtData) { if (dtData == null || dtData.Rows.Count == 0) { return null; } //新增合计行置底 DataRow drNew = dtData.NewRow(); drNew[0] = "合计"; for (int i = 1; i < dtData.Columns.Count; i++) { drNew[i] = dtData.Compute(string.Format("SUM({0})", dtData.Columns[i]), "true"); } dtData.Rows.Add(drNew); return dtData; }


 

 

收获园豆:5
何以解忧唯有撸码 | 菜鸟二级 |园豆:368 | 2013-10-13 11:26
其他回答(4)
0

select A,B,C from Table
union
select sum(B),sum(C) from Table

收获园豆:10
雾静 | 园豆:561 (小虾三级) | 2013-10-12 16:37
0

select A,B,C from RLB

union

select '自定义',sum(B),sum(C) from RLB

收获园豆:30
乏mily | 园豆:245 (菜鸟二级) | 2013-10-12 16:49
0

楼上正解。不过union最好换成union all,因为前者是要排序的,所以不能保证统计行一定在最后一行。

收获园豆:5
jone_e | 园豆:1410 (小虾三级) | 2013-10-13 08:55
0

union all ,个人觉得是最好的方式。

幻天芒 | 园豆:36594 (高人七级) | 2013-10-13 22:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册