gpt4 book ai didi

mysql - 用子查询和公式给出结果?

转载 作者:行者123 更新时间:2023-11-29 16:55:35 26 4
gpt4 key购买 nike

我最近有一个问题一直困扰着我,我想知道我的用户中有多少人可以在他们的帐户中获得超过 50% 的利润。因此,正如您在表中看到的,我有投资和 yield ,所以从逻辑上讲,我必须按一定比例来获得利润。例如:(( yield - 投资 * 100)/投资)

ID  Investment (euros)  Earnings (euros)
13 2 3.4
14 1 0
15 4 7
16 12 20.76

从这里开始一切正常,但我的问题是,如何计算并同时显示拥有超过 50% 利润的用户?

我做了这个简单的查询,该查询有效,但不显示超过 50% 的用户,而是向所有人显示。

select id, ((MAX(earnings)-investment)*100)/investment
from users
group by id, investment
;

所以,我的想法是创建一个子查询,但我对此有一个很大的问题:

select id
from users
where 50 < (
select (((MAX(earnings)-investment)*100)/investment)
from users
group by investment
)
group by id
;

我收到此错误:详细信息:表达式预计返回的行数不超过一行

我不知道我做错了什么。贾尔普!

最佳答案

这不是公式吗?

select id, (sum(earnings) - sum(investment))*100 / sum(investment) as profit
from users
group by id;

然后如果要过滤,添加:

having profit > 50

要获取计数,请使用子查询:

select count(*)
from (select id, (sum(earnings) - sum(investment))*100 / sum(investment) as profit
from users
group by id
) u
where profit > 50;

关于mysql - 用子查询和公式给出结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52579031/

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