gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 14:36:15 26 4
gpt4 key购买 nike

我有一个 PostgreSQL 表,其中包含 1,634 条记录,每个位置都有一个“id”,每个灾难事件受影响人数的“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”,我必须使用两次灾难事件中的受影响人员数据来计算每个位置的标准化受影响人员数量。如何输入以下函数作为 SQL 语句来更新“disaster2_an”列?

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

最佳答案

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

UPDATE TABLE tbl1
SET disaster2_an = (disaster2_a - ((disaster2_a + disaster1_a)/2)) / (GREATEST(disaster2_a, disaster1_a) - LEAST(disaster2_a, disaster1_a));

关于PostgreSQL - 使用 AVG、MAX 和 MIN 进行规范化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44291488/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com