gpt4 book ai didi

mysql - 如何对具有不同条件的两列中的值进行算术运算,然后将答案合并到一个查询中?

转载 作者:行者123 更新时间:2023-11-29 09:55:47 24 4
gpt4 key购买 nike

我正在尝试计算具有特定日期条件的两个字段的总和,这必须显示为 Chronic_Load

然后我想做一个类似的计算,但使用不同的日期条件,必须显示为 Acute_Load

然后我想要进行第三次计算,其中 Chronic_Load 除以 Acute_Load,即前两次计算的两个值。

计算一:

SELECT sum((rpe * duration)*1) AS "Acute_Load" FROM users_data where date between adddate(now(),-7) and now()

计算二:

SELECT sum((rpe * duration)*1.5) AS "Chronic_Load" FROM users_data where date between adddate(now(),-28) and now()

计算三:

SELECT sum(Acute_Load / Chronic_Load) AS "ACWD"

如何将所有这些与两个不同的标准结合起来?

最佳答案

将“更广泛”的限制放入 WHERE 子句中。对于“更窄”的情况,如果日期不在范围内,请使用输出零的 CASE

SELECT sum(CASE
WHEN date BETWEEN adddate(now(), -7) AND now() THEN
rpe * duration
ELSE
0
END) "Acute_Load",
sum(rpe * duration * 1.5) "Chronic_Load",
sum(CASE
WHEN date BETWEEN adddate(now(), -7) AND now() THEN
rpe * duration
ELSE
0
END) / sum(rpe * duration * 1.5) "ACWD"
FROM users_data
WHERE date BETWEEN adddate(now(), -28) and now();

关于mysql - 如何对具有不同条件的两列中的值进行算术运算,然后将答案合并到一个查询中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53897050/

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