我最近一直在想这个问题,我想知道有多少我的用户可以在他们的帐户中获得超过50%的利润。所以,正如你在表中看到的,我有投资和收益,所以从逻辑上讲,我必须做一个百分比来获得利润。例如:((收益-投资*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
;
我收到了以下错误:detail:表达式返回的行不应超过一行
我不知道我做错了什么。杰普!
1条答案
按热度按时间flseospp1#
这不是公式吗?
如果要筛选,请添加:
要获取计数,请使用子查询: