mysql中group小计与合计,如何实现比较复杂的分组、小计与合计

--测试代码

create table t_dist

(

TYPE_CD    NUMBER,

BUYER_ID   VARCHAR2(50),

ORDER_DT   DATE,

SO_ID      VARCHAR2(50) not null,

STOCK_ID   VARCHAR2(50) not null,

UNIT_PRICE NUMBER,

DISCOUNT   NUMBER,

QTY        NUMBER

);

truncate table t_dist;

insert into t_dist values(1,'CN1001',to_date('2008-04-01','yyyy-mm-dd'),'S9001','29110311',50,10,8);

insert into t_dist values(1,'CN1001',to_date('2008-04-02','yyyy-mm-dd'),'S9002','29110312',60,20,2);

insert into t_dist values(1,'CN1001',to_date('2008-04-03','yyyy-mm-dd'),'S9003','29110313',70,15,3);

insert into t_dist values(2,'CN1001',to_date('2008-04-04','yyyy-mm-dd'),'S9004','29110312',60,15,5);

insert into t_dist values(2,'CN1001',to_date('2008-04-05','yyyy-mm-dd'),'S9005','29110311',70,10,6);

insert into t_dist values(3,'CN1001',to_date('2008-04-06','yyyy-mm-dd'),'S9006','29110313',55,20,4);

insert into t_dist values(3,'CN1001',to_date('2008-04-06','yyyy-mm-dd'),'S9007','29110311',40,10,3);

insert into t_dist values(3,'CN1001',to_date('2008-04-07','yyyy-mm-dd'),'S9008','29110312',50,50,5);

insert into t_dist values(3,'CN1001',to_date('2008-04-07','yyyy-mm-dd'),'S9009','29110313',80,10,2);

insert into t_dist values(1,'CN1001',to_date('2008-04-08','yyyy-mm-dd'),'S9010','29110311',65,10,1);

commit;

请问:如何实现如下结果,谢谢!

即计算按stock_id,type_cd,distount分组,计算每个产品的销售额(qty*unit_price)及销售百分比,并有小计

STOCK_ID        TYPE_CD        DISCOUNT     AVG_PRICE      SUM_TOT          PCT

-------------------------------------------------------------------------------------------------

29110311        1                        10              57.50             465              46.27%

29110311        2                        10              70.00             420              41.79%

29110311        3                        10              40.00             120              11.94%

小计                                                              55.83             1005            100.00%

29110312        1                        20              60.00             120              17.91%

29110312        2                        15              60.00             300              44.78%

29110312        3                        50              50.00             250              37.31%

小计                                                              56.67             670              100.00%

29110313        1                        15              70.00             210              35.59%

29110313        3                        10              80.00             160              27.12%

29110313        3                        20              55.00             220              37.29%

小计                                                              68.33             590              100.00%

[本帖最后由 kevin_ye 于 2008-8-22 12:16 编辑]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值