在HQL中可以使用min()、max()、sum()、avg()、count()和count(*)等统计函数,返回值均为数值类型。如:

Query query = session.createQuery("select min(price) max(price) from Product");

1、在分组中应用统计函数

   在HQL语句中配合“group by”子句可以按照指定的属性分组,并应用统计函数。如:

   Query query = session.createQuery("select avg(price),count(*) from Product group by category.id");
   
   List<Object[]> values = query.list();


2、使用having
  
   在HQL语句中group by结合having子句可以为分组的数据上添加条件。如:

   Query query = session.createQuery("select avg(price),count(*) from Product group by price having price>50.0");

   List<Object[]> values = query.list();