Hibernate使用distinct返回不重复的数据,使用group by 进行分组
Posted yvioo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate使用distinct返回不重复的数据,使用group by 进行分组相关的知识,希望对你有一定的参考价值。
//distinct使用
public List<String> distinctDutyDate() { String hql="select distinct(dutyDate) from DoctorDuty"; Query query=getSession().createQuery(hql); List list= query.list(); Iterator it= list.iterator(); List<String> list1=new ArrayList<String>(); while(it.hasNext()){ String dutyDate=it.next()+""; list1.add(dutyDate); } return list1; }
//group by使用
public List<YearMonthDTO> getYearMonthByUserId(Integer userId, String submitType) { String hql="select submitYear,submitMonth from TotalBranchSubmit where userId=:userId and submitType=:submitType group by submitYear,submitMonth "; Query query = getSession().createQuery(hql) .setParameter("userId",userId) .setParameter("submitType",submitType); List list= query.list(); Iterator it= list.iterator(); List<YearMonthDTO> list1=new ArrayList<>(); while(it.hasNext()){ Object[] res=(Object[]) it.next(); YearMonthDTO dto=new YearMonthDTO(); String year=res[0]+""; String month=res[1]+""; dto.setYear(year); dto.setMonth(month); list1.add(dto); } return list1; }
以上是关于Hibernate使用distinct返回不重复的数据,使用group by 进行分组的主要内容,如果未能解决你的问题,请参考以下文章
mysql中去重 用group by优化distinct 用法
mysql 去除重复 Select中DISTINCT关键字的用法 在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留