利用sql实现总和小计,排序
复制代码代码如下所示:
测试数据
创建表# TB(ID varchar(10),bank_id varchar(10),op_date varchar(10),operator_no varchar(20),AMT)。
插入# TB选择'1111 ','001 ','20121210 ',1234567111
联盟的所有选择'2222 ','002 ','20121210 ',1234567222
联盟的所有选择'3333 ','001 ','20121112 ',1234567250
联盟的所有选择'4444 ','002 ','20121110 ',1234567330
联盟的所有选择'5555 ','001 ','20121210 ',1234567300
联盟的所有选择'6666 ','002 ','20121112 ',1234567150
去
-查询
选择张
a.bank_id
A.AMT。
b.op_date
b.operator_no
从
(
(选择
编号为例
当分组(bank_id)= 1然后聚集
当分组(id)=1时:
其他的身份结束
bank_id
求和(AMT)
order_sign1 =分组(bank_id),order_sign2 = bank_id
order_sign3 =分组(ID)
从#结核病
集团通过bank_id,ID与汇总
具有分组(id)=1
首先,获取表的统计数据,并将数据添加到表中。
选择ID
bank_id
AMT。
order_sign1 = 0,order_sign2 = bank_id
order_sign3 = 0
从#结核病)
左连接,显示op_date,operator_no
(选择ID
op_date
operator_no
从#结核B对张=数据)
通过order_sign1),order_sign2,order_sign3秩序,op_date
去
删除测试
表#结核病
测试结果
我bank_id AMT op_date operator_no
3333001250 201211121234567
5555001300 201212101234567
1111001111 201212101234567
总空值为1661
4444002330 201211101234567
6666002150 201211121234567
2222002222 201212101234567
总空值为2702
总空值为1363 null null
**