Hibernate HQLクエリ - 集約関数

2008/09/12 21:21Update
TAGS: Hibernate | HQLクエリ | avg() | sum() | min() | max() | count()

Hibernate HQLクエリでは、ネイティブSQLと同じように、avg(),sum(),count()などの集約関数をサポートしています。本文はHibernateの集約関数について学びます。

HQLの利用方法について、次の記事をご参照ください。
―――――――――――――――――――――――――――――――――
Hibernate HQL入門その1 - HQLの基本的な書き方及びその利用方法
―――――――――――――――――――――――――――――――――

集約関数


Hibernate HQLがサポートしている集約関数は次です。
◇avg(...), sum(...), min(...), max(...)
 →avg(...)関数:平均値を求めます。
 →sum(...)関数:合計値を求めます。
 →min(...)関数:最小値を求めます。
 →max(...)関数:最大値を求めます。
◇count(*)
 →件数をカウントします。
◇count(...), count(distinct ...), count(all...)
 →distinctとallキーワードはネイティブSQLと同じ意味で使います。

集約関数の使用例


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

例2:
select max(cat.weight)+min(cat.weight), max(cat.height)+min(height)
from Cat cat

例3:
select cat.weight-avg(cat.weight), cat.name
from Cat cat group by cat.weight, cat.name

例4:
select avg(cat.weight), sum(cat.weight), max(cat.weight), count(cat)
from Cat cat

例5:
select distinct employee.name from Employee as employee

例6:
select count(distinct employee.name),count(employee) from Employee as employee

有关作者
Syboos.jp編集長AJavaやオープンソース情報の執筆、Webサイトの開発や運営全般の業務に携わる。

Sponsored Link


Comments

用户名 (required)

Email (will not be published) (required)

URL

Evaluation