14.6. 聚集函数

HQL查询甚至可以返回作用于属性之上的聚集函数的计算结果:

  1. select avg(cat.weight), sum(cat.weight), max(cat.weight), count(cat)
  2. from Cat cat

受支持的聚集函数如下:

  • avg(…), sum(…), min(…), max(…)

  • count(*)

  • count(…), count(distinct …), count(all…)

你可以在选择子句中使用数学操作符、连接以及经过验证的SQL函数:

  1. select cat.weight + sum(kitten.weight)
  2. from Cat cat
  3. join cat.kittens kitten
  4. group by cat.id, cat.weight
  1. select firstName||' '||initial||' '||upper(lastName) from Person

关键字distinctall 也可以使用,它们具有与SQL相同的语义.

  1. select distinct cat.name from Cat cat
  2. select count(distinct cat.name), count(cat) from Cat cat