在Postgres中按值计算Group的百分比值

时间:2016-02-11 08:58:32

标签: postgresql group-by percentage

我想计算Group by中值的百分比。我的表数据

salesId   salesAmount   productName   salesTyp
-------   -----------   -----------   --------
      1         50.00   mouse         online
      2        100.00   mouse         shop
      3        150.00   mouse         shop
      4         50.00   mouse         shop
      5        100.00   keyboard      shop
      6         50.00   keyboard      online

Out put我想表现出像

productName   totalamount   percentageofonline
-----------   -----------   ------------------
      mouse           350                25.00
   keyboard           150                50.00

这里出售了4只鼠标(商店3只,网上1只),所以百分比是25.00 售出2个键盘(商店1个,网上1个),所以百分比是50.00

请帮我搞定。我为表结构创建了SQLFIDDLE

1 个答案:

答案 0 :(得分:5)

快速:

  .state('app.sr.product', {
            name: 'product info',
            url: '/product/:productRef/:productSerialNumber',
            views: {
                "rootContainer": {
                    templateUrl: 'views/product/product.html',
                    controller: 'ProductCtrl',
                    controllerAs: 'vm'
                },
                "productDetails@app.sr.product": {
                    templateUrl: 'views/product/product-details.html',
                    //controller: 'ProductCtrl', // herited from parent !
                    //controllerAs: 'vm'
                },
                "productView@app.sr.product": {
                    templateUrl: 'views/product/product-documents.html',
                    //controller: 'ProductCtrl',
                    //controllerAs: 'vm'
                },
                "detailView@app.sr.product": {
                    templateUrl: 'views/detail/detail1.html',
                    controller: 'DetailCtrl',
                    controllerAs: 'vm'
                }
            }
        })

第一个子请求计算总金额,子请求用于百分比。

必须有一种更优化的方式来完成这项工作