这种问题通常是在前台解决当然后台也能解决:
select 单号,数量1=sum(数量1),数量2=sum(数量2) from 表 group by 单号
union all
select 单号='合计',数量1=sum(数量1),数量2=sum(数量2) from 表
select 单号,数量1=sum(数量1),数量2=sum(数量2) from 表 group by 单号
union all
select 单号='合计',数量1=sum(数量1),数量2=sum(数量2) from 表
解决方案 »
- 求一段sql语句
- sql2005 新增记录
- 数据了设计的主键与外键问题
- 问大家一个关于赋值的问题
- 链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 不包含表 "xactions"。该表不存在,或者当前用户没有访问该表的权限。
- 请高手帮忙啊关于两台sql server 备份问题(高分请大家帮忙)
- 2个表 行转列 交叉表 Sqlserver 100分
- 两张表不重复的记录
- 求教这样的SQL语句如何写,急!!!
- 在sql server 2000 中怎样存入图像?
- 开始菜单中SQL server 企业管理器 点了没反映,也没什么报错,查询分析器可以使用。郁闷中……
- SQL筛选问题,在线等!
WITH ROLLUP
在生成包含小计和合计的报表时,ROLLUP 运算符很有用。ROLLUP 运算符生成的结果集类似于 CUBE 运算符所生成的结果集。有关更多信息,请参见用 CUBE 汇总数据。 CUBE 和 ROLLUP 之间的区别在于: CUBE 生成的结果集显示了所选列中值的所有组合的聚合。
ROLLUP 生成的结果集显示了所选列中值的某一层次结构的聚合。
例如,简单表 Inventory 中包含:Item Color Quantity
-------------------- -------------------- --------------------------
Table Blue 124
Table Red 223
Chair Blue 101
Chair Red 210 下列查询将生成小计报表:SELECT CASE WHEN (GROUPING(Item) = 1) THEN 'ALL'
ELSE ISNULL(Item, 'UNKNOWN')
END AS Item,
CASE WHEN (GROUPING(Color) = 1) THEN 'ALL'
ELSE ISNULL(Color, 'UNKNOWN')
END AS Color,
SUM(Quantity) AS QtySum
FROM Inventory
GROUP BY Item, Color WITH ROLLUPItem Color QtySum
-------------------- -------------------- --------------------------
Chair Blue 101.00
Chair Red 210.00
Chair ALL 311.00
Table Blue 124.00
Table Red 223.00
Table ALL 347.00
ALL ALL 658.00