我有三个实体:用户、规则和活动
通过以下关系,一个规则有许多活动(双向)许多用户有许多活动(双向),服务器与spring一起使用springjpa
我想显示每个规则中有多少活动是一个用户启动的,但没有完成,使用sql这个查询将从一个规则返回这些活动
SELECT COUNT(*) FROM user_activity WHERE user_id=userId AND score<10 AND
activity_id IN (SELECT id FROM activity WHERE rule_id=ruleId);
我可以用jpql来实现这一点,但是如何从每个规则返回该计数呢?所以我可以从每一条规则,有多少活动的用户
如果有人需要,我也可以提供java模型代码。
表包括用户、活动、规则和用户活动
1条答案
按热度按时间ctrmrzij1#
我想这个问题可能是你想要的。它查找与给定规则相关联的所有活动,然后加入参与该活动但尚未完成该活动的用户(我想这就是得分<10表示的情况?)
显然你可以扩大
SELECT
包括规则描述和用户名等。我看不出“活动完成”是什么意思,所以我推测分数低于10分。如果不是这样,则需要将连接更改为
user_activity
适当地。