我有这样的记录:
Id ForeignKey Level ValueA ValueB
1 1001 1 2 10
2 1001 1 10 10
3 1001 1 20 20
4 1001 2 20 30
5 1002 1 1 100
6 1003 1 1 100
7 1004 1 1 100
我想获取按 ForeignKey 和 Level 分组的组的每条记录的 ID,其中组记录的 ValueA 值的总和除以 ValueB 值的总和大于 0.5
在这种情况下,我想检索前三个记录的 ID 为 (2 + 10 + 20) / (10 + 10 + 20) = 0.8
这是我到目前为止所得到的:
select
ForeignKey,
SUM(ValueA) as ValueASum,
SUM(ValueB) as ValueBSum,
from tableA
group by ForeignKey
having (SUM(ValueA) / SUM(ValueB) > 0.5)
结果是
ForeignKey ValueASum ValueBSum
1001 32 40
如何从这一点获取记录的 ID?如果我在选择中添加 Id,我必须对其进行分组,然后为每条记录设置一个组。
谢谢你的时间