PostgreSQL - 使用AVG,MAX和MIN进行规范化

时间:2017-05-31 17:45:56

标签: postgresql max average normalization min

我有一个PostgreSQL表,其中包含每个位置带有“id”的1,634条记录,每个灾难事件受影响人数的“disaster(n)_a”列,以及标准化数量的“disaster2_an”列第二次灾难事件的受影响人。

   id  | disaster1_a | disaster2_a | disaster2_an
--------------------------------------------------
1234567|      27     |      30     |      0
5687428|      58     |      87     |      0
5874658|      88     |     458     |      0
.......

为了更新“disaster2_an”,我必须使用两个灾难事件中的受影响人数据计算每个位置的受影响人数的标准化数量。如何将以下函数输入为更新列“disaster2_an”的SQL语句?

disaster2_an = (disaster2_a - AVG(disaster2_a, disaster1_a))/
(MAX(disaster2_a, disaster1_a) - MIN(disaster2_a, disaster1_a))

1 个答案:

答案 0 :(得分:1)

我能够找到问题的答案。我只是分别用GREATEST()和LEAST()替换MAX()和MIN(),然后执行手动方法来获得平均值。

function get_barcodes() {


     $.ajax({
        url: 'http://localhost/retail/main/ajax_barcodes/',
        type: 'POST',
        datatype: 'json',
        data: { 'barcode': $('#brcode option:selected').val() },
        success: function (data) {
           // var brcodes = JSON.parse(data);
            //console.log(brcodes);          
            //var brCodes = JSON.parse(data);
           //var json = JSON.parse(data);
            //console.log(brCodes.brcode);
            //$("#product_items_opts").val(barcodes.brcode.name);
           // console.log(json);

           console.log(data);

        }
    });

    // $('#prdct_barcode[' + product_barcode_counter + ']').each(function(){
    //      $('#prdct_barcode[' + product_barcode_counter + ']').change(function(){



    //      });
    // });


}
相关问题