[英]How to use group by with sum in criteria
I have 3 columns in my table id, uid and value. 我的表ID,UID和值中有3列。 I want to sum the values of each uid. 我想对每个uid的值求和。 I know the query but i want to use criteria. 我知道查询,但我想使用条件。
Query: 查询:
SELECT uid,SUM(value) FROM post GROUP BY uid;
How can i use this in hibernate criteria? 如何在休眠条件下使用此功能?
例如:
SELECT uid,SUM(value) FROM post GROUP BY uid HAVING SUM(value) > 100;
You can do it like this. 您可以这样做。
Criteria cr = session.createCriteria(Post.class); 条件cr = session.createCriteria(Post.class); cr.setProjection(Projections.sum("value")); cr.setProjection(Projections.sum(“ value”)); cr.setProjection(Projections.groupProperty("uid")); cr.setProjection(Projections.groupProperty(“ uid”));
amount and employee is column name to use SUM and GROUP BY using ProjectionsList:- 数量和雇员是使用ProjectionsList使用SUM和GROUP BY的列名称:-
Criteria criteria=sessionFactory.getCurrentSession().createCriteria(EmpAdvance.class); Criteria条件= sessionFactory.getCurrentSession()。createCriteria(EmpAdvance.class);
ProjectionList projectionList=Projections.projectionList(); ProjectionList projectionList = Projections.projectionList();
projectionList.add(Projections.sum("amount")); projectionList.add(Projections.sum(“ amount”)));
projectionList.add(Projections.groupProperty("employee")); projectionList.add(Projections.groupProperty(“ employee”));
criteria.setProjection(projectionList); 条件.setProjection(projectionList);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.