我试图计算表中gp\u status字段的不同可能性。我有一个sql查询可以工作,只是不太明白如何将它转录到jooq。
select i.gp_status, COUNT(i.gp_status)
from ideas_service.idea i
group by i.gp_status
到目前为止,我有这个
var result = dsl.select(IDEA.GP_STATUS,count(),count(IDEA.GP_STATUS))
.from(IDEA)
.groupBy(IDEA.GP_STATUS)
.fetch();
看起来字段恢复得很正确,但我不知道如何提取它们。我知道可能的gpu状态是什么。
所以我得想办法去吵架 where gp_status = x
1条答案
按热度按时间uklbhaso1#
如果你只需要一排
如果只需要一行,那么应该将该 predicate 添加到查询中,即。
在这一点上你真的不需要
GROUP BY
条款:注意,在这两种情况下,我都使用了
ResultQuery.fetchOne()
,产生Record
,从中可以通过多种方式提取值,例如。还有很多方法。
如果你需要整个结果
如果需要整个结果集,但是对于特定的情况,只需要提取一行,那么可以迭代
Result
,延伸List
,或使用Result.intoGroups(IDEA.GP_STATUS).get("x")
或任何其他方法Result
做类似的事情。