HQL的group by和having的使用
来源:互联网 发布:倚天蝴蝶形态指标源码 编辑:程序博客网 时间:2024/06/06 20:12
一 实战
package com.cakin.view;import java.util.Iterator;import java.util.List;import java.util.Set;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.Transaction;import com.cakin.util.HibernateUtil;import com.sina.domain.Studcourse;import com.sina.domain.Student;public class TestMain { public static void main(String[] args) { //这我们举例说明hql使用 Session session=null; Transaction tx=null; try { session=HibernateUtil.getCurrentSession(); tx=session.beginTransaction(); //1 显示各个系的学生的平均年龄 List<Object[]> list=session.createQuery("select avg(sage),sdept from Student group by sdept").list(); //取出1. for 增强 for(Object[] obj:list){ System.out.println(obj[0].toString()+" "+obj[1].toString()); } System.out.println("******************"); //having的使用 //2 对分组查询后的结果,进行筛选:比如显示人数大于等于2的系名称 //先查询各个系分别有多少学生,然后进行筛选. List<Object[]> list1=session.createQuery("select count(*) as c1,sdept from Student group by sdept having count(*)>=2").list(); //取出1. for 增强 for(Object[] obj:list1){ System.out.println(obj[0].toString()+" "+obj[1].toString()); } System.out.println("******************"); //3 查询女生少于200人的系 List<Object[]> list2=session. createQuery("select count(*) as c1,sdept from Student where ssex='F' group by sdept having count(*)<200").list(); //取出1. for 增强 for(Object[] obj:list2){ System.out.println(obj[0].toString()+" "+obj[1].toString()); } tx.commit(); } catch (Exception e) { e.printStackTrace(); if(tx!=null){ tx.rollback(); } throw new RuntimeException(e.getMessage()); // TODO: handle exception }finally{ if(session!=null&&session.isOpen()){ session.close(); } } }}
二 测试结果
21.0 化学系
23.0 外语系
20.0 数学系
24.0 生物系
22.0 计算机系
******************
2 计算机系
******************
2 计算机系
阅读全文
0 0
- HQL的group by和having的使用
- Having和Group by的使用
- having和group by结合的使用
- group by having的使用
- 查询之order by,group by和having的使用
- 查询之order by,group by和having的使用
- 查询之order by,group by和having的使用
- 查询之order by,group by和having的使用 .
- sql语句中GROUP BY 和 HAVING的使用 count()
- sql语句中GROUP BY 和 HAVING的使用
- sql语句中GROUP BY 和 HAVING的使用 count()
- sql语句中GROUP BY 和 HAVING的使用 count()
- sql语句中GROUP BY 和 HAVING的使用 count()
- sql语句中GROUP BY 和 HAVING的使用 count()
- sql语句中GROUP BY 和 HAVING的使用 count()
- sql语句中having count 和group by的使用
- sql语句中GROUP BY 和 HAVING的使用 count()
- sql语句中GROUP BY 和 HAVING的使用 count()
- 奥地利来富埃森银行加入R3区块链联盟
- JSONObject转List按照特定属性排序并生成对应排名
- 美国国防法案可能推动区块链采用
- 7-6 冒泡法排序(20 分) 将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素
- 如何制作简易信息图
- HQL的group by和having的使用
- 唯链(VeChain)打造的区块链酒类追溯服务平台又添新成员 又一批可追溯红酒入驻D.I.G.
- Git常用指令集合 (远程仓库)
- 4用于cifar10的卷积神经网络-4.14优化器AdagradOptimizer的汇总结果分析
- 4用于cifar10的卷积神经网络-4.15优化器RMSProbOptimizer的汇总结果分析
- ubuntu下利用Dlib和caffe实现人脸关键点标定
- 相信我,我们离成为废物阶级不远了!
- npm publish 发布自己的模块(发布包)
- JavaScript循环刷新页面,定时刷新网站