gpt4 book ai didi

java - 有没有办法在不选择 1 乘 1 的情况下按百分比减少一个值并增加同一个表中的其他值

转载 作者:搜寻专家 更新时间:2023-10-30 23:26:44 27 4
gpt4 key购买 nike

我需要帮助构建一个 SQL 查询,我会发布我的作业,解释起来有点棘手......所以你可以更好地了解我的问题是什么:

将主要城镇的人口增加 1%,代表从城市迁移到主要城镇的居民。示例:

伦敦市(使用谷歌翻译,如有错误请见谅):600000居民

London city: 300000 inh.
Municipality1:50000 inh
Municipality1:80000 inh
Municipality1:70000 inh
Municipality1:100000 inh

城市吸入量增加 2%

London city: 306000 inh.
Municipality1:49000 inh
Municipality1:78400 inh
Municipality1:68600 inh
Municipality1:98000 inh

我的数据库有这张表tab_municipalities.

**Municipality_description**|**Inhabitants**| **Province**
London-------------------------|300k---------| London
Muni1---------------------------|50k-----------| London
Muni2---------------------------|80k-----------| London
Muni3---------------------------|70k-----------| London
Muni4---------------------------|100k---------| London

那么,有没有办法不用一一选择就可以改变 Chief city 的居民百分比和改变 Municipalities?

我在想这样的事情:

set tab_municipalities update London=(London*1.02);

我的问题来了...我如何将主要城镇的增量“散布”到每个自治市,从而减少其居民?抱歉,如果我写了所有这些细节,但我想更清楚地了解我必须做什么...我需要在 Java 项目中传输此查询。

感谢您的帮助,抱歉我的英语不好。

最佳答案

由于在此示例中伦敦市包含总人口的一半,我们可以简单地为该城市添加 2%,并直接从所有其他行中删除 2%(无需使用一些需要分配的总和)。

更新时使用CASE

UPDATE tab_municipalities 
SET Inhabitants = CASE WHEN Municipality_description = 'London' THEN Inhabitants * 1.02
ELSE Inhabitants * 0.98
END
WHERE Province = 'London'

关于java - 有没有办法在不选择 1 乘 1 的情况下按百分比减少一个值并增加同一个表中的其他值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56111195/

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