Les requêtes HQL peuvent aussi retourner le résultat de fonctions d'aggrégation sur les propriétés :
select avg(cat.weight), sum(cat.weight), max(cat.weight), count(cat) from Cat cat
Les fonctions supportées sont
avg(...), sum(...), min(...), max(...)
count(*)
count(...), count(distinct ...), count(all...)
Vous pouvez utiliser des opérateurs arithmétiques, la concaténation, et des fonctions SQL reconnues dans la clause select :
select cat.weight + sum(kitten.weight) from Cat cat join cat.kittens kitten group by cat.id, cat.weight
select firstName||' '||initial||' '||upper(lastName) from Person
Les mots clé distinct
et all
peuvent être utilisés et ont la même signification qu'en SQL.
select distinct cat.name from Cat cat select count(distinct cat.name), count(cat) from Cat cat