一、下表
table edits
- user_id
- entity_id
- points: smallint
一个用户可以拥有多条记录,用于同一个 entity_id
.
我想返回一个实体ID的列表,其中的 user: 1
的积分大于其他用户对某一实体的积分之和。我猜测它是由一个叫做 group by [user_id, entity_id]
和a having sum(user_id: 1) >= sum(user_id)
但我的知识到此为止。
解决方案:
嗯……这是你想要的吗?这是你想要的吗?
select e.*
from edits e
where e.points < (select e2.points
from edits e2
where e2.entity_id = e.entity_id and e2.user_id = 1
) and
e.entity_id = ?;