我有两个对象。
@Entity
class Person extends Model {
...
@OneToOne
Category category;
}
@Entity
class Category extends Model {
...
}
我需要获得5个最常用的类别。我怎样才能做到这一点 ?
谢谢,
编辑:解决方案
List<Object[]> c = Category.find(
"SELECT p.categorie, count(p.id) FROM Person p " +
"GROUP BY p.category ORDER BY count(p.category) DESC").fetch(2);
答案 0 :(得分:2)
你的JPQL查询是这样的:
SELECT p.category, COUNT(p.category)
FROM Person p
GROUP BY p.category
ORDER BY count(p.category) DESC
你也可以查询.setMaxResults(5)。
答案 1 :(得分:1)
select category.id, count(person.id)
from Person person
inner join person.category category
group by category.id
order by count(person.id) desc
在执行此查询之前,请在Query对象上调用setMaxResults(5)
。