Hibernate HQLクエリ - 集約関数
2008/09/12 21:21Update
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
―――――――――――――――――――――――――――――――――
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
Sponsored Link
Comments
- Relative Articles
- Hibernate設定ファイルその1 - hibernate.cfg.xml - (2008/07/09 14:08)
- Hibernate c3p0 - よく利用されているコネクションプーリング - (2008/07/09 15:00)
- Hibernate 方言(Dialect)一覧 - (2008/07/09 15:10)
- Hibernate のSessionとSessionFactory - (2008/07/09 15:51)
- ThreadLocal でHibernate Session を効率的に管理する - (2008/07/09 18:43)
- Hibernateで複数のDBに接続するには? - (2008/07/09 18:47)
- Hibernateとは - (2008/07/11 14:23)
- Hibernate のインストール - (2008/07/24 11:01)
- Hibernate の開発手順 - (2008/07/24 12:44)
- Hibernate SQLをログに出力方法 - (2008/07/30 16:06)