【发布时间】:2018-03-22 12:34:10
【问题描述】:
使用 Criteria 或 HQL(Hibernate Query Language),选择所有列。 Grouping by 选定列的任意一列,并为我们使用 group by 的每条记录选择 count。
示例 SQL 查询例如:select *,count(1) from users group by name
【问题讨论】:
标签: mysql sql database hibernate hql
使用 Criteria 或 HQL(Hibernate Query Language),选择所有列。 Grouping by 选定列的任意一列,并为我们使用 group by 的每条记录选择 count。
示例 SQL 查询例如:select *,count(1) from users group by name
【问题讨论】:
标签: mysql sql database hibernate hql
您是否尝试过运行您的 SQL?你不能运行这个查询吧?
select *,count(1) from users group by name
你会收到一些错误,例如:
Column 'some_column_name' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
你可以这样查询:
select name, count(name) from users group by name
在这种情况下,您可以在标准中使用投影来计算分组依据,例如:
criteria.setProjection(Projections.projectionList()
.add(Projections.groupProperty("name"))
.add(Projections.count("name")));
【讨论】: