简体   繁体   English

如何在条件中使用总和分组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM