数据库查询选择所有列,包括每个记录的计数按' group by'

时间:2017-10-11 00:37:37

标签: mysql sql database hibernate hql

使用条件或HQL(休眠查询语言),选择所有列分组所选列的任意一列,并为我们使用分组的每条记录选择计数

示例SQL查询例如:从用户组中按名称选择*,count(1)

1 个答案:

答案 0 :(得分:0)

您是否尝试过运行您的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")));